https://pdfplayer.org/document/qo5gdw8k-use-spliterator-for-the-splitting-phase.html