code: public final static <T> Stream<Seq<T>> groupedStatefullyUntil(final Stream<T> stream,
              final BiPredicate<Seq<? super T>, ? super T> predicate) {
          return StreamSupport.stream(new GroupedStatefullySpliterator<>(stream.spliterator(),()->Seq.of(),Function.identity(),predicate.negate()),stream.isParallel());
      }
docs: Group data in a Stream using knowledge of the current batch and the next entry to determing grouping limits
  
  @see Traversable#groupedUntil(BiPredicate)
  
  @param stream Stream to group
  @param predicate Predicate to determine grouping
  @return Stream grouped into Lists determined by predicate