code: public final <C extends Collection<? super T>> Flux<C> buffer(Publisher<?> other, Supplier<C> bufferSupplier) {
  		return onAssembly(new FluxBufferBoundary<>(this, other, bufferSupplier));
  	}
docs: Collect incoming values into multiple user-defined {@link Collection} buffers, as
  delimited by the signals of a companion {@link Publisher} this operator will
  subscribe to.
  <p>
  <img class="marble" src="doc-files/marbles/bufferWithBoundary.svg" alt="">
  
  @reactor.discard This operator discards the currently open buffer upon cancellation or error triggered by a data signal,
  and the last received element when the bufferSupplier fails.
  
  @param other the companion {@link Publisher} whose signals trigger new buffers
  @param bufferSupplier a {@link Supplier} of the concrete {@link Collection} to use for each buffer
  @param <C> the {@link Collection} buffer type
  
  @return a microbatched {@link Flux} of {@link Collection} delimited by signals from a {@link Publisher}