code: @NotNull
      public <K> Stream<List<T>> chunkBy(@NotNull final Function<? super T, ? extends K> classifier) {
          return new Stream<List<T>>(params, new ObjChunkBy<T, K>(iterator, classifier));
      }
docs: Partitions {@code Stream} into {@code List}s according to the given classifier function. In contrast
  to {@link #groupBy(Function)}, this method assumes that the elements of the stream are sorted.
  Because of this assumption, it does not need to first collect all elements and then partition them.
  Instead, it can emit a {@code List} of elements when it reaches the first element that does not
  belong to the same chunk as the previous elements.
  
  <p>This is an intermediate operation.
  
  <p>Example:
  <pre>
  classifier: (a) -&gt; a % 5 == 0
  stream: [1, 2, 5, 6, 7, 9, 10, 12, 14]
  result: [[1, 2], [5], [6, 7, 9], [10], [12, 14]]
  </pre>
  
  @param <K> the type of the keys, which are the result of the classifier function
  @param classifier  the classifier function
  @return the new stream