reactor-core/src/main/java/reactor/core/publisher/Flux.java
@SafeVarargs
	public static <T> Flux<T> concat(Publisher<? extends T>... sources) {
		return onAssembly(new FluxConcatArray<>(false, sources));
	}
@SafeVarargs
	public static <T> Flux<T> concat(Publisher<? extends T>... sources) {
		return onAssembly(new FluxConcatArray<>(false, sources));
	}
Concatenate all sources provided as a vararg, 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/concatVarSources.svg" alt="">

@param sources The {@link Publisher} of {@link Publisher} to concat
@param <T> The type of values in both source and output sequences

@return a new {@link Flux} concatenating all source sequences