It's probably better to call this localIterator, and make it return an Iterator instead of a Stream. Similarly the Java one should return a Java Iterator. Anyone who needs to get multiple iterators can grab them from this object multiple times.