reactor-core/src/main/java/reactor/core/publisher/Flux.java
public static <T> Flux<T> concat(Iterable<? extends Publisher<? extends T>> sources) {
		return onAssembly(new FluxConcatIterable<>(sources));
	}
public static <T> Flux<T> concat(Iterable<? extends Publisher<? extends T>> sources) {
		return onAssembly(new FluxConcatIterable<>(sources));
	}
Concatenate all sources provided in an {@link Iterable}, 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 Iterable} of {@link Publisher} to concatenate
@param <T> The type of values in both source and output sequences

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