reactor-core/src/main/java/reactor/core/publisher/Flux.java
public static <T> Flux<T> concat(Publisher<? extends Publisher<? extends T>> sources, int prefetch) {
		return onAssembly(new FluxConcatMap<>(from(sources),
				identityFunction(),
				Queues.get(prefetch), prefetch,
				FluxConcatMap.ErrorMode.IMMEDIATE));
	}
public static <T> Flux<T> concat(Publisher<? extends Publisher<? extends T>> sources, int prefetch) {
		return onAssembly(new FluxConcatMap<>(from(sources),
				identityFunction(),
				Queues.get(prefetch), prefetch,
				FluxConcatMap.ErrorMode.IMMEDIATE));
	}
Concatenate all sources emitted as an onNext signal from a parent {@link Publisher},
forwarding elements emitted by the sources downstream.
<p>
Concatenation is achieved by sequentially subscribing to the first source then
waiting for it to complete before subscribing to the next, and so on until the
last source completes. Any error interrupts the sequence immediately and is
forwarded downstream.
<p>
<img class="marble" src="doc-files/marbles/concatAsyncSources.svg" alt="">

@reactor.discard This operator discards elements it internally queued for backpressure upon cancellation.

@param sources The {@link Publisher} of {@link Publisher} to concatenate
@param prefetch the inner source request size
@param <T> The type of values in both source and output sequences

@return a new {@link Flux} concatenating all inner sources sequences