title: Partition a Java 8 Stream
body: <p>How to implement "partition" operation on Java 8 Stream? By partition I mean, divide a stream into sub-streams of a given size. Somehow it will be identical to Guava <a href="https://google.github.io/guava/releases/20.0/api/docs/com/google/common/collect/Iterators.html#partition-java.util.Iterator-int-" rel="noreferrer">Iterators.partition()</a> method, just it's desirable that the partitions are lazily-evaluated Streams rather than List's.</p>