public bool MoveNext() { if (this.current == null) { this.current = new NextEnumerable(this.parent, this.backingEnumerator); return(true); } else { if (!this.current.IsComplete) { using (var enumerator = this.current.GetEnumerator()) { while (enumerator.MoveNext()) { } } } } if (!this.parent.hasCurrent) { return(false); } this.current = new NextEnumerable(this.parent, this.backingEnumerator); return(true); }
public NextEnumerator(SplittingEnumerable <T> splitter, NextEnumerable parent, IEnumerator <T> enumerator) { this.splitter = splitter; this.parent = parent; this.enumerator = enumerator; }