jdk/src/share/classes/java/util/stream/Stream.java
changeset 18572 53b8b8c30086
parent 17914 91e138d3b298
child 18820 a87cdd6a8834
--- a/jdk/src/share/classes/java/util/stream/Stream.java	Tue Jun 11 13:41:38 2013 -0700
+++ b/jdk/src/share/classes/java/util/stream/Stream.java	Fri Jun 28 10:29:21 2013 +0200
@@ -880,14 +880,7 @@
      */
     public static<T> Stream<T> generate(Supplier<T> s) {
         Objects.requireNonNull(s);
-        return StreamSupport.stream(Spliterators.spliteratorUnknownSize(
-                new Iterator<T>() {
-                    @Override
-                    public boolean hasNext() { return true; }
-
-                    @Override
-                    public T next() { return s.get(); }
-                },
-                Spliterator.ORDERED | Spliterator.IMMUTABLE));
+        return StreamSupport.stream(
+                new StreamSpliterators.InfiniteSupplyingSpliterator.OfRef<>(Long.MAX_VALUE, s));
     }
 }