private IList <NodeWithPropertyValues> Process(SortedMergeJoin sortedMergeJoin, IEnumerator <NodeWithPropertyValues> iteratorA, IEnumerator <NodeWithPropertyValues> iteratorB) { Collector collector = new Collector(this); while (!collector.Done) { //JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops: if (iteratorA.hasNext() && sortedMergeJoin.NeedsA()) { //JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops: NodeWithPropertyValues a = iteratorA.next(); sortedMergeJoin.SetA(a.NodeId, a.Values); } //JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops: if (iteratorB.hasNext() && sortedMergeJoin.NeedsB()) { //JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops: NodeWithPropertyValues b = iteratorB.next(); sortedMergeJoin.SetB(b.NodeId, b.Values); } sortedMergeJoin.Next(collector); } return(collector.Result); }