code: public final static <T> Stream<T> cycleWhile(final Stream<T> stream, final Predicate<? super T> predicate) {
          return Streams.takeWhile(Streams.cycle(stream), predicate);
      }
docs: Repeat in a Stream while specified predicate holds
  <pre>
  {@code
  int count =0;
  
  assertThat(Streams.cycleWhile(Stream.of(1,2,2)
  ,next -> count++<6 )
  .collect(CyclopsCollectors.toList()),equalTo(Arrays.asList(1,2,2,1,2,2)));
  }
  </pre>
  @param predicate
  repeat while true
  @return Repeating Stream