From commits-return-22969-apmail-tinkerpop-commits-archive=tinkerpop.apache.org@tinkerpop.apache.org Sun Sep 3 16:19:41 2017 Return-Path: X-Original-To: apmail-tinkerpop-commits-archive@minotaur.apache.org Delivered-To: apmail-tinkerpop-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 2AF3A1928E for ; Sun, 3 Sep 2017 16:19:41 +0000 (UTC) Received: (qmail 50915 invoked by uid 500); 3 Sep 2017 16:19:41 -0000 Delivered-To: apmail-tinkerpop-commits-archive@tinkerpop.apache.org Received: (qmail 50884 invoked by uid 500); 3 Sep 2017 16:19:40 -0000 Mailing-List: contact commits-help@tinkerpop.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@tinkerpop.apache.org Delivered-To: mailing list commits@tinkerpop.apache.org Received: (qmail 50875 invoked by uid 99); 3 Sep 2017 16:19:40 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 03 Sep 2017 16:19:40 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 73FDCF5645; Sun, 3 Sep 2017 16:19:39 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: florianhockmann@apache.org To: commits@tinkerpop.apache.org Date: Sun, 03 Sep 2017 16:19:39 -0000 Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: [1/9] tinkerpop git commit: Add special handling for __.Fold() Repository: tinkerpop Updated Branches: refs/heads/TINKERPOP-1752 239a3c61c -> 422e3e1e0 http://git-wip-us.apache.org/repos/asf/tinkerpop/blob/73e2537a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/__.cs ---------------------------------------------------------------------- diff --git a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/__.cs b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/__.cs index b64f6a3..b359898 100644 --- a/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/__.cs +++ b/gremlin-dotnet/src/Gremlin.Net/Process/Traversal/__.cs @@ -51,17 +51,17 @@ namespace Gremlin.Net.Process.Traversal /// /// Spawns a and adds the addE step to that traversal. /// - public static GraphTraversal AddE(Direction direction, string firstVertexKeyOrEdgeLabel, string edgeLabelOrSecondVertexKey, params object[] propertyKeyValues) + public static GraphTraversal AddE(string edgeLabel) { - return new GraphTraversal().AddE(direction, firstVertexKeyOrEdgeLabel, edgeLabelOrSecondVertexKey, propertyKeyValues); + return new GraphTraversal().AddE(edgeLabel); } /// /// Spawns a and adds the addE step to that traversal. /// - public static GraphTraversal AddE(string edgeLabel) + public static GraphTraversal AddE(Direction direction, string firstVertexKeyOrEdgeLabel, string edgeLabelOrSecondVertexKey, params object[] propertyKeyValues) { - return new GraphTraversal().AddE(edgeLabel); + return new GraphTraversal().AddE(direction, firstVertexKeyOrEdgeLabel, edgeLabelOrSecondVertexKey, propertyKeyValues); } /// @@ -83,25 +83,25 @@ namespace Gremlin.Net.Process.Traversal /// /// Spawns a and adds the addV step to that traversal. /// - public static GraphTraversal AddV(string vertexLabel) + public static GraphTraversal AddV(params object[] propertyKeyValues) { - return new GraphTraversal().AddV(vertexLabel); + return new GraphTraversal().AddV(propertyKeyValues); } /// /// Spawns a and adds the addV step to that traversal. /// - public static GraphTraversal AddV(params object[] propertyKeyValues) + public static GraphTraversal AddV() { - return new GraphTraversal().AddV(propertyKeyValues); + return new GraphTraversal().AddV(); } /// /// Spawns a and adds the addV step to that traversal. /// - public static GraphTraversal AddV() + public static GraphTraversal AddV(string vertexLabel) { - return new GraphTraversal().AddV(); + return new GraphTraversal().AddV(vertexLabel); } /// @@ -131,17 +131,17 @@ namespace Gremlin.Net.Process.Traversal /// /// Spawns a and adds the barrier step to that traversal. /// - public static GraphTraversal Barrier() + public static GraphTraversal Barrier(int maxBarrierSize) { - return new GraphTraversal().Barrier(); + return new GraphTraversal().Barrier(maxBarrierSize); } /// /// Spawns a and adds the barrier step to that traversal. /// - public static GraphTraversal Barrier(int maxBarrierSize) + public static GraphTraversal Barrier() { - return new GraphTraversal().Barrier(maxBarrierSize); + return new GraphTraversal().Barrier(); } /// @@ -179,17 +179,17 @@ namespace Gremlin.Net.Process.Traversal /// /// Spawns a and adds the branch step to that traversal. /// - public static GraphTraversal Branch(object function) + public static GraphTraversal Branch(ITraversal traversalFunction) { - return new GraphTraversal().Branch(function); + return new GraphTraversal().Branch(traversalFunction); } /// /// Spawns a and adds the branch step to that traversal. /// - public static GraphTraversal Branch(ITraversal traversalFunction) + public static GraphTraversal Branch(object function) { - return new GraphTraversal().Branch(traversalFunction); + return new GraphTraversal().Branch(function); } /// @@ -203,49 +203,49 @@ namespace Gremlin.Net.Process.Traversal /// /// Spawns a and adds the choose step to that traversal. /// - public static GraphTraversal Choose(ITraversal traversalFunction) + public static GraphTraversal Choose(TraversalPredicate choosePredicate, ITraversal trueChoice, ITraversal falseChoice) { - return new GraphTraversal().Choose(traversalFunction); + return new GraphTraversal().Choose(choosePredicate, trueChoice, falseChoice); } /// /// Spawns a and adds the choose step to that traversal. /// - public static GraphTraversal Choose(ITraversal traversalPredicate, ITraversal trueChoice, ITraversal falseChoice) + public static GraphTraversal Choose(ITraversal traversalPredicate, ITraversal trueChoice) { - return new GraphTraversal().Choose(traversalPredicate, trueChoice, falseChoice); + return new GraphTraversal().Choose(traversalPredicate, trueChoice); } /// /// Spawns a and adds the choose step to that traversal. /// - public static GraphTraversal Choose(ITraversal traversalPredicate, ITraversal trueChoice) + public static GraphTraversal Choose(object choiceFunction) { - return new GraphTraversal().Choose(traversalPredicate, trueChoice); + return new GraphTraversal().Choose(choiceFunction); } /// /// Spawns a and adds the choose step to that traversal. /// - public static GraphTraversal Choose(TraversalPredicate choosePredicate, ITraversal trueChoice, ITraversal falseChoice) + public static GraphTraversal Choose(TraversalPredicate choosePredicate, ITraversal trueChoice) { - return new GraphTraversal().Choose(choosePredicate, trueChoice, falseChoice); + return new GraphTraversal().Choose(choosePredicate, trueChoice); } /// /// Spawns a and adds the choose step to that traversal. /// - public static GraphTraversal Choose(TraversalPredicate choosePredicate, ITraversal trueChoice) + public static GraphTraversal Choose(ITraversal traversalPredicate, ITraversal trueChoice, ITraversal falseChoice) { - return new GraphTraversal().Choose(choosePredicate, trueChoice); + return new GraphTraversal().Choose(traversalPredicate, trueChoice, falseChoice); } /// /// Spawns a and adds the choose step to that traversal. /// - public static GraphTraversal Choose(object choiceFunction) + public static GraphTraversal Choose(ITraversal traversalFunction) { - return new GraphTraversal().Choose(choiceFunction); + return new GraphTraversal().Choose(traversalFunction); } /// @@ -299,17 +299,17 @@ namespace Gremlin.Net.Process.Traversal /// /// Spawns a and adds the dedup step to that traversal. /// - public static GraphTraversal Dedup(Scope scope, params string[] dedupLabels) + public static GraphTraversal Dedup(params string[] dedupLabels) { - return new GraphTraversal().Dedup(scope, dedupLabels); + return new GraphTraversal().Dedup(dedupLabels); } /// /// Spawns a and adds the dedup step to that traversal. /// - public static GraphTraversal Dedup(params string[] dedupLabels) + public static GraphTraversal Dedup(Scope scope, params string[] dedupLabels) { - return new GraphTraversal().Dedup(dedupLabels); + return new GraphTraversal().Dedup(scope, dedupLabels); } /// @@ -347,17 +347,17 @@ namespace Gremlin.Net.Process.Traversal /// /// Spawns a and adds the filter step to that traversal. /// - public static GraphTraversal Filter(TraversalPredicate predicate) + public static GraphTraversal Filter(ITraversal filterTraversal) { - return new GraphTraversal().Filter(predicate); + return new GraphTraversal().Filter(filterTraversal); } /// /// Spawns a and adds the filter step to that traversal. /// - public static GraphTraversal Filter(ITraversal filterTraversal) + public static GraphTraversal Filter(TraversalPredicate predicate) { - return new GraphTraversal().Filter(filterTraversal); + return new GraphTraversal().Filter(predicate); } /// @@ -381,7 +381,7 @@ namespace Gremlin.Net.Process.Traversal /// public static GraphTraversal> Fold() { - return new GraphTraversal>().Fold(); + return new GraphTraversal().Fold(); } /// @@ -427,121 +427,121 @@ namespace Gremlin.Net.Process.Traversal /// /// Spawns a and adds the groupV3d0 step to that traversal. /// - public static GraphTraversal> GroupV3d0() + public static GraphTraversal GroupV3d0(string sideEffectKey) { - return new GraphTraversal>().GroupV3d0(); + return new GraphTraversal().GroupV3d0(sideEffectKey); } /// /// Spawns a and adds the groupV3d0 step to that traversal. /// - public static GraphTraversal GroupV3d0(string sideEffectKey) + public static GraphTraversal> GroupV3d0() { - return new GraphTraversal().GroupV3d0(sideEffectKey); + return new GraphTraversal>().GroupV3d0(); } /// /// Spawns a and adds the has step to that traversal. /// - public static GraphTraversal Has(string propertyKey, object value) + public static GraphTraversal Has(string propertyKey) { - return new GraphTraversal().Has(propertyKey, value); + return new GraphTraversal().Has(propertyKey); } /// /// Spawns a and adds the has step to that traversal. /// - public static GraphTraversal Has(T accessor, TraversalPredicate predicate) + public static GraphTraversal Has(string propertyKey, ITraversal propertyTraversal) { - return new GraphTraversal().Has(accessor, predicate); + return new GraphTraversal().Has(propertyKey, propertyTraversal); } /// /// Spawns a and adds the has step to that traversal. /// - public static GraphTraversal Has(string propertyKey, TraversalPredicate predicate) + public static GraphTraversal Has(T accessor, ITraversal propertyTraversal) { - return new GraphTraversal().Has(propertyKey, predicate); + return new GraphTraversal().Has(accessor, propertyTraversal); } /// /// Spawns a and adds the has step to that traversal. /// - public static GraphTraversal Has(string propertyKey) + public static GraphTraversal Has(string label, string propertyKey, object value) { - return new GraphTraversal().Has(propertyKey); + return new GraphTraversal().Has(label, propertyKey, value); } /// /// Spawns a and adds the has step to that traversal. /// - public static GraphTraversal Has(string propertyKey, ITraversal propertyTraversal) + public static GraphTraversal Has(T accessor, object value) { - return new GraphTraversal().Has(propertyKey, propertyTraversal); + return new GraphTraversal().Has(accessor, value); } /// /// Spawns a and adds the has step to that traversal. /// - public static GraphTraversal Has(T accessor, ITraversal propertyTraversal) + public static GraphTraversal Has(T accessor, TraversalPredicate predicate) { - return new GraphTraversal().Has(accessor, propertyTraversal); + return new GraphTraversal().Has(accessor, predicate); } /// /// Spawns a and adds the has step to that traversal. /// - public static GraphTraversal Has(T accessor, object value) + public static GraphTraversal Has(string label, string propertyKey, TraversalPredicate predicate) { - return new GraphTraversal().Has(accessor, value); + return new GraphTraversal().Has(label, propertyKey, predicate); } /// /// Spawns a and adds the has step to that traversal. /// - public static GraphTraversal Has(string label, string propertyKey, object value) + public static GraphTraversal Has(string propertyKey, TraversalPredicate predicate) { - return new GraphTraversal().Has(label, propertyKey, value); + return new GraphTraversal().Has(propertyKey, predicate); } /// /// Spawns a and adds the has step to that traversal. /// - public static GraphTraversal Has(string label, string propertyKey, TraversalPredicate predicate) + public static GraphTraversal Has(string propertyKey, object value) { - return new GraphTraversal().Has(label, propertyKey, predicate); + return new GraphTraversal().Has(propertyKey, value); } /// /// Spawns a and adds the hasId step to that traversal. /// - public static GraphTraversal HasId(TraversalPredicate predicate) + public static GraphTraversal HasId(object id, params object[] otherIds) { - return new GraphTraversal().HasId(predicate); + return new GraphTraversal().HasId(id, otherIds); } /// /// Spawns a and adds the hasId step to that traversal. /// - public static GraphTraversal HasId(object id, params object[] otherIds) + public static GraphTraversal HasId(TraversalPredicate predicate) { - return new GraphTraversal().HasId(id, otherIds); + return new GraphTraversal().HasId(predicate); } /// /// Spawns a and adds the hasKey step to that traversal. /// - public static GraphTraversal HasKey(string label, params string[] otherLabels) + public static GraphTraversal HasKey(TraversalPredicate predicate) { - return new GraphTraversal().HasKey(label, otherLabels); + return new GraphTraversal().HasKey(predicate); } /// /// Spawns a and adds the hasKey step to that traversal. /// - public static GraphTraversal HasKey(TraversalPredicate predicate) + public static GraphTraversal HasKey(string label, params string[] otherLabels) { - return new GraphTraversal().HasKey(predicate); + return new GraphTraversal().HasKey(label, otherLabels); } /// @@ -571,17 +571,17 @@ namespace Gremlin.Net.Process.Traversal /// /// Spawns a and adds the hasValue step to that traversal. /// - public static GraphTraversal HasValue(TraversalPredicate predicate) + public static GraphTraversal HasValue(object value, params object[] values) { - return new GraphTraversal().HasValue(predicate); + return new GraphTraversal().HasValue(value, values); } /// /// Spawns a and adds the hasValue step to that traversal. /// - public static GraphTraversal HasValue(object value, params object[] values) + public static GraphTraversal HasValue(TraversalPredicate predicate) { - return new GraphTraversal().HasValue(value, values); + return new GraphTraversal().HasValue(predicate); } /// @@ -635,17 +635,17 @@ namespace Gremlin.Net.Process.Traversal /// /// Spawns a and adds the is step to that traversal. /// - public static GraphTraversal Is(TraversalPredicate predicate) + public static GraphTraversal Is(object value) { - return new GraphTraversal().Is(predicate); + return new GraphTraversal().Is(value); } /// /// Spawns a and adds the is step to that traversal. /// - public static GraphTraversal Is(object value) + public static GraphTraversal Is(TraversalPredicate predicate) { - return new GraphTraversal().Is(value); + return new GraphTraversal().Is(predicate); } /// @@ -699,17 +699,17 @@ namespace Gremlin.Net.Process.Traversal /// /// Spawns a and adds the map step to that traversal. /// - public static GraphTraversal Map(ITraversal mapTraversal) + public static GraphTraversal Map(object function) { - return new GraphTraversal().Map(mapTraversal); + return new GraphTraversal().Map(function); } /// /// Spawns a and adds the map step to that traversal. /// - public static GraphTraversal Map(object function) + public static GraphTraversal Map(ITraversal mapTraversal) { - return new GraphTraversal().Map(function); + return new GraphTraversal().Map(mapTraversal); } /// @@ -811,17 +811,17 @@ namespace Gremlin.Net.Process.Traversal /// /// Spawns a and adds the order step to that traversal. /// - public static GraphTraversal Order(Scope scope) + public static GraphTraversal Order() { - return new GraphTraversal().Order(scope); + return new GraphTraversal().Order(); } /// /// Spawns a and adds the order step to that traversal. /// - public static GraphTraversal Order() + public static GraphTraversal Order(Scope scope) { - return new GraphTraversal().Order(); + return new GraphTraversal().Order(scope); } /// @@ -883,17 +883,17 @@ namespace Gremlin.Net.Process.Traversal /// /// Spawns a and adds the property step to that traversal. /// - public static GraphTraversal Property(object key, object value, params object[] keyValues) + public static GraphTraversal Property(Cardinality cardinality, object key, object value, params object[] keyValues) { - return new GraphTraversal().Property(key, value, keyValues); + return new GraphTraversal().Property(cardinality, key, value, keyValues); } /// /// Spawns a and adds the property step to that traversal. /// - public static GraphTraversal Property(Cardinality cardinality, object key, object value, params object[] keyValues) + public static GraphTraversal Property(object key, object value, params object[] keyValues) { - return new GraphTraversal().Property(cardinality, key, value, keyValues); + return new GraphTraversal().Property(key, value, keyValues); } /// @@ -907,17 +907,17 @@ namespace Gremlin.Net.Process.Traversal /// /// Spawns a and adds the range step to that traversal. /// - public static GraphTraversal Range(long low, long high) + public static GraphTraversal Range(Scope scope, long low, long high) { - return new GraphTraversal().Range(low, high); + return new GraphTraversal().Range(scope, low, high); } /// /// Spawns a and adds the range step to that traversal. /// - public static GraphTraversal Range(Scope scope, long low, long high) + public static GraphTraversal Range(long low, long high) { - return new GraphTraversal().Range(scope, low, high); + return new GraphTraversal().Range(low, high); } /// @@ -931,9 +931,9 @@ namespace Gremlin.Net.Process.Traversal /// /// Spawns a and adds the sack step to that traversal. /// - public static GraphTraversal Sack(object sackOperator, string elementPropertyKey) + public static GraphTraversal Sack() { - return new GraphTraversal().Sack(sackOperator, elementPropertyKey); + return new GraphTraversal().Sack(); } /// @@ -947,9 +947,9 @@ namespace Gremlin.Net.Process.Traversal /// /// Spawns a and adds the sack step to that traversal. /// - public static GraphTraversal Sack() + public static GraphTraversal Sack(object sackOperator, string elementPropertyKey) { - return new GraphTraversal().Sack(); + return new GraphTraversal().Sack(sackOperator, elementPropertyKey); } /// @@ -971,9 +971,9 @@ namespace Gremlin.Net.Process.Traversal /// /// Spawns a and adds the select step to that traversal. /// - public static GraphTraversal> Select(Column column) + public static GraphTraversal Select(string selectKey) { - return new GraphTraversal>().Select(column); + return new GraphTraversal().Select(selectKey); } /// @@ -987,41 +987,41 @@ namespace Gremlin.Net.Process.Traversal /// /// Spawns a and adds the select step to that traversal. /// - public static GraphTraversal> Select(string selectKey1, string selectKey2, params string[] otherSelectKeys) + public static GraphTraversal> Select(Pop pop, string selectKey1, string selectKey2, params string[] otherSelectKeys) { - return new GraphTraversal>().Select(selectKey1, selectKey2, otherSelectKeys); + return new GraphTraversal>().Select(pop, selectKey1, selectKey2, otherSelectKeys); } /// /// Spawns a and adds the select step to that traversal. /// - public static GraphTraversal> Select(Pop pop, string selectKey1, string selectKey2, params string[] otherSelectKeys) + public static GraphTraversal> Select(string selectKey1, string selectKey2, params string[] otherSelectKeys) { - return new GraphTraversal>().Select(pop, selectKey1, selectKey2, otherSelectKeys); + return new GraphTraversal>().Select(selectKey1, selectKey2, otherSelectKeys); } /// /// Spawns a and adds the select step to that traversal. /// - public static GraphTraversal Select(string selectKey) + public static GraphTraversal> Select(Column column) { - return new GraphTraversal().Select(selectKey); + return new GraphTraversal>().Select(column); } /// /// Spawns a and adds the sideEffect step to that traversal. /// - public static GraphTraversal SideEffect(ITraversal sideEffectTraversal) + public static GraphTraversal SideEffect(object consumer) { - return new GraphTraversal().SideEffect(sideEffectTraversal); + return new GraphTraversal().SideEffect(consumer); } /// /// Spawns a and adds the sideEffect step to that traversal. /// - public static GraphTraversal SideEffect(object consumer) + public static GraphTraversal SideEffect(ITraversal sideEffectTraversal) { - return new GraphTraversal().SideEffect(consumer); + return new GraphTraversal().SideEffect(sideEffectTraversal); } /// @@ -1051,41 +1051,41 @@ namespace Gremlin.Net.Process.Traversal /// /// Spawns a and adds the sum step to that traversal. /// - public static GraphTraversal Sum(Scope scope) + public static GraphTraversal Sum() { - return new GraphTraversal().Sum(scope); + return new GraphTraversal().Sum(); } /// /// Spawns a and adds the sum step to that traversal. /// - public static GraphTraversal Sum() + public static GraphTraversal Sum(Scope scope) { - return new GraphTraversal().Sum(); + return new GraphTraversal().Sum(scope); } /// /// Spawns a and adds the tail step to that traversal. /// - public static GraphTraversal Tail() + public static GraphTraversal Tail(long limit) { - return new GraphTraversal().Tail(); + return new GraphTraversal().Tail(limit); } /// /// Spawns a and adds the tail step to that traversal. /// - public static GraphTraversal Tail(long limit) + public static GraphTraversal Tail(Scope scope, long limit) { - return new GraphTraversal().Tail(limit); + return new GraphTraversal().Tail(scope, limit); } /// /// Spawns a and adds the tail step to that traversal. /// - public static GraphTraversal Tail(Scope scope, long limit) + public static GraphTraversal Tail() { - return new GraphTraversal().Tail(scope, limit); + return new GraphTraversal().Tail(); } /// @@ -1171,17 +1171,17 @@ namespace Gremlin.Net.Process.Traversal /// /// Spawns a and adds the until step to that traversal. /// - public static GraphTraversal Until(ITraversal untilTraversal) + public static GraphTraversal Until(TraversalPredicate untilPredicate) { - return new GraphTraversal().Until(untilTraversal); + return new GraphTraversal().Until(untilPredicate); } /// /// Spawns a and adds the until step to that traversal. /// - public static GraphTraversal Until(TraversalPredicate untilPredicate) + public static GraphTraversal Until(ITraversal untilTraversal) { - return new GraphTraversal().Until(untilPredicate); + return new GraphTraversal().Until(untilTraversal); } /// @@ -1195,17 +1195,17 @@ namespace Gremlin.Net.Process.Traversal /// /// Spawns a and adds the valueMap step to that traversal. /// - public static GraphTraversal> ValueMap(bool includeTokens, params string[] propertyKeys) + public static GraphTraversal> ValueMap(params string[] propertyKeys) { - return new GraphTraversal>().ValueMap(includeTokens, propertyKeys); + return new GraphTraversal>().ValueMap(propertyKeys); } /// /// Spawns a and adds the valueMap step to that traversal. /// - public static GraphTraversal> ValueMap(params string[] propertyKeys) + public static GraphTraversal> ValueMap(bool includeTokens, params string[] propertyKeys) { - return new GraphTraversal>().ValueMap(propertyKeys); + return new GraphTraversal>().ValueMap(includeTokens, propertyKeys); } /// @@ -1219,9 +1219,9 @@ namespace Gremlin.Net.Process.Traversal /// /// Spawns a and adds the where step to that traversal. /// - public static GraphTraversal Where(string startKey, TraversalPredicate predicate) + public static GraphTraversal Where(ITraversal whereTraversal) { - return new GraphTraversal().Where(startKey, predicate); + return new GraphTraversal().Where(whereTraversal); } /// @@ -1235,9 +1235,9 @@ namespace Gremlin.Net.Process.Traversal /// /// Spawns a and adds the where step to that traversal. /// - public static GraphTraversal Where(ITraversal whereTraversal) + public static GraphTraversal Where(string startKey, TraversalPredicate predicate) { - return new GraphTraversal().Where(whereTraversal); + return new GraphTraversal().Where(startKey, predicate); } }