code: public static <U> Stream<U> takeWhile(final Stream<U> stream, final Predicate<? super U> predicate) {
          return StreamSupport.stream(new LimitWhileSpliterator<>(stream.spliterator(), predicate),stream.isParallel());
      }
docs: Take elements from a stream while the predicates hold
  <pre>
  {@code Streams.takeWhile(Stream.of(4,3,6,7).sorted(),i->i<6).collect(CyclopsCollectors.toList());
  //[4,3]
  }
  </pre>
  @param stream
  @param predicate
  @return