public IEnumerator <PeekElement <T> > GetEnumerator() { if (_walker != null) { var v = _walker; _walker = null; return(v); } else { return(new PeekWalker <T>(_source.GetEnumerator())); } }
public PeekWalkable(IEnumerable <T> source) { _source = source ?? throw new ArgumentNullException(nameof(source)); _walker = new PeekWalker <T>(_source.GetEnumerator()); }