code: public final Flux<Flux<T>> windowUntil(Predicate<T> boundaryTrigger) {
  		return windowUntil(boundaryTrigger, false);
  	}
docs: Split this {@link Flux} sequence into multiple {@link Flux} windows delimited by the
  given predicate. A new window is opened each time the predicate returns true, at which
  point the previous window will receive the triggering element then onComplete.
  <p>
  Windows are lazily made available downstream at the point where they receive their
  first event (an element is pushed, the window errors). This variant shouldn't
  expose empty windows, as the separators are emitted into
  the windows they close.
  
  <p>
  <img class="marble" src="doc-files/marbles/windowUntil.svg" alt="">
  
  @reactor.discard This operator discards elements it internally queued for backpressure
  upon cancellation or error triggered by a data signal.
  
  @param boundaryTrigger a predicate that triggers the next window when it becomes true.
  @return a {@link Flux} of {@link Flux} windows, bounded depending
  on the predicate.