public final Flux<List<T>> bufferUntil(Predicate<? super T> predicate) {
		return onAssembly(new FluxBufferPredicate<>(this, predicate,
				listSupplier(), FluxBufferPredicate.Mode.UNTIL));
	}
public final Flux<List<T>> bufferUntil(Predicate<? super T> predicate) {
		return onAssembly(new FluxBufferPredicate<>(this, predicate,
				listSupplier(), FluxBufferPredicate.Mode.UNTIL));
	}
public final Flux < List < T > > bufferUntil ( Predicate < ? super T > predicate ) { return onAssembly ( new FluxBufferPredicate <> ( this , predicate , listSupplier ( ) , FluxBufferPredicate . Mode . UNTIL ) ) ; }
Collect incoming values into multiple {@link List} buffers that will be emitted by
the resulting {@link Flux} each time the given predicate returns true. Note that
the element that triggers the predicate to return true (and thus closes a buffer)
is included as last element in the emitted buffer.
<p>
<img class="marble" src="doc-files/marbles/bufferUntil.svg" alt="">
<p>
On completion, if the latest buffer is non-empty and has not been closed it is
emitted. However, such a "partial" buffer isn't emitted in case of onError
termination.

@reactor.discard This operator discards the currently open buffer upon cancellation or error triggered by a data signal.

@param predicate a predicate that triggers the next buffer when it becomes true.
@return a microbatched {@link Flux} of {@link List}
Collect incoming values into multiple { @link List } buffers that will be emitted by the resulting { @link Flux } each time the given predicate returns true . Note that the element that triggers the predicate to return true ( and thus closes a buffer ) is included as last element in the emitted buffer . <p > <img class = marble src = doc - files / marbles / bufferUntil . svg alt = > <p > On completion if the latest buffer is non - empty and has not been closed it is emitted . However such a partial buffer isn t emitted in case of onError termination .