public static <T> Flux<T> merge(Publisher<? extends Publisher<? extends T>> source, int concurrency, int prefetch) {
		return onAssembly(new FluxFlatMap<>(
				from(source),
				identityFunction(),
				false,
				concurrency,
				Queues.get(concurrency),
				prefetch,
				Queues.get(prefetch)));
	}
public static <T> Flux<T> merge(Publisher<? extends Publisher<? extends T>> source, int concurrency, int prefetch) {
		return onAssembly(new FluxFlatMap<>(
				from(source),
				identityFunction(),
				false,
				concurrency,
				Queues.get(concurrency),
				prefetch,
				Queues.get(prefetch)));
	}
public static < T > Flux < T > merge ( Publisher < ? extends Publisher < ? extends T > > source , int concurrency , int prefetch ) { return onAssembly ( new FluxFlatMap <> ( from ( source ) , identityFunction ( ) , false , concurrency , Queues . get ( concurrency ) , prefetch , Queues . get ( prefetch ) ) ) ; }
Merge data from {@link Publisher} sequences emitted by the passed {@link Publisher}
into an interleaved merged sequence. Unlike {@link #concat(Publisher) concat}, inner
sources are subscribed to eagerly (but at most {@code concurrency} sources are
subscribed to at the same time).
<p>
<img class="marble" src="doc-files/marbles/mergeAsyncSources.svg" alt="">
<p>
Note that merge is tailored to work with asynchronous sources or finite sources. When dealing with
an infinite source that doesn't already publish on a dedicated Scheduler, you must isolate that source
in its own Scheduler, as merge would otherwise attempt to drain it before subscribing to
another source.

@param source a {@link Publisher} of {@link Publisher} sources to merge
@param concurrency the request produced to the main source thus limiting concurrent merge backlog
@param prefetch the inner source request size
@param <T> the merged type

@return a merged {@link Flux}
Merge data from { @link Publisher } sequences emitted by the passed { @link Publisher } into an interleaved merged sequence . Unlike { @link #concat ( Publisher ) concat } inner sources are subscribed to eagerly ( but at most { @code concurrency } sources are subscribed to at the same time ) . <p > <img class = marble src = doc - files / marbles / mergeAsyncSources . svg alt = > <p > Note that merge is tailored to work with asynchronous sources or finite sources . When dealing with an infinite source that doesn t already publish on a dedicated Scheduler you must isolate that source in its own Scheduler as merge would otherwise attempt to drain it before subscribing to another source .