protected virtual Expression BaseVisitNhAverage(AverageExpression expression)
        {
            Expression nx = base.VisitExpression(expression.Expression);

            return nx != expression.Expression ? new AverageExpression(nx) : expression;
        }
 protected virtual Expression VisitNhAverage(AverageExpression expression)
 {
     return VisitUnhandledItem<AverageExpression, Expression>(expression, "VisitNhAverage", BaseVisitNhAverage);
 }