reactor-core/src/main/java/reactor/core/publisher/Mono.java
public static Mono<Void> when(Publisher<?>... sources) {
		if (sources.length == 0) {
			return empty();
		}
		if (sources.length == 1) {
			return empty(sources[0]);
		}
		return onAssembly(new MonoWhen(false, sources));
	}
public static Mono<Void> when(Publisher<?>... sources) {
		if (sources.length == 0) {
			return empty();
		}
		if (sources.length == 1) {
			return empty(sources[0]);
		}
		return onAssembly(new MonoWhen(false, sources));
	}
Aggregate given publishers into a new {@literal Mono} that will be fulfilled
when all of the given {@literal sources} have completed. An error will cause
pending results to be cancelled and immediate error emission to the returned {@link Mono}.
<p>
<img class="marble" src="doc-files/marbles/when.svg" alt="">
<p>
@param sources The sources to use.

@return a {@link Mono}.