reactor-core/src/main/java/reactor/core/publisher/Flux.java
public final <R> Flux<R> handle(BiConsumer<? super T, SynchronousSink<R>> handler) {
		if (this instanceof Fuseable) {
			return onAssembly(new FluxHandleFuseable<>(this, handler));
		}
		return onAssembly(new FluxHandle<>(this, handler));
	}
public final <R> Flux<R> handle(BiConsumer<? super T, SynchronousSink<R>> handler) {
		if (this instanceof Fuseable) {
			return onAssembly(new FluxHandleFuseable<>(this, handler));
		}
		return onAssembly(new FluxHandle<>(this, handler));
	}
Handle the items emitted by this {@link Flux} by calling a biconsumer with the
output sink for each onNext. At most one {@link SynchronousSink#next(Object)}
call must be performed and/or 0 or 1 {@link SynchronousSink#error(Throwable)} or
{@link SynchronousSink#complete()}.

@param handler the handling {@link BiConsumer}
@param <R> the transformed type

@reactor.errorMode This operator supports {@link #onErrorContinue(BiConsumer) resuming on errors} (including when
fusion is enabled) when the {@link BiConsumer} throws an exception or if an error is signaled explicitly via
{@link SynchronousSink#error(Throwable)}.

@return a transformed {@link Flux}