When I invoke intermediate operations on streams, do they create new stream for each intermediate operation?
List<Integer> list = List.of(1,2,3,4,5);
list.stream().filter(i -> i > 4).map(o -> o*2).collect(Collectors.toList());
How many streams did it create? 1 or 3?