Java 8 Stream IllegalStateException: Stream has already been operated on or closed

The answer is in the javadoc of Stream (emphases mine): A stream should be operated on (invoking an intermediate or terminal stream operation) only once. This rules out, for example, “forked” streams, where the same source feeds two or more pipelines, or multiple traversals of the same stream. A stream implementation may throw IllegalStateException if … Read more