Does the stream.spliterator() implicitly closes the stream, or there is a need to explicitly close it afterwards? At first glance, it seems that the .spliterator() method closes the stream, but without calling stream.close(). At least if I close it straight away after the .spliterator() method is invoked, it seems not affection the spliterator operations. This question can be extended to