reactor-core/src/main/java/reactor/core/publisher/Mono.java
public static  Mono<Void> whenDelayError(Publisher<?>... sources) {
		if (sources.length == 0) {
			return empty();
		}
		if (sources.length == 1) {
			return empty(sources[0]);
		}
		return onAssembly(new MonoWhen(true, sources));
	}
public static  Mono<Void> whenDelayError(Publisher<?>... sources) {
		if (sources.length == 0) {
			return empty();
		}
		if (sources.length == 1) {
			return empty(sources[0]);
		}
		return onAssembly(new MonoWhen(true, sources));
	}
Merge given publishers into a new {@literal Mono} that will be fulfilled when
all of the given {@literal sources} have completed. Errors from the sources are delayed.
If several Publishers error, the exceptions are combined (as suppressed exceptions on a root exception).

<p>
<img class="marble" src="doc-files/marbles/whenDelayError.svg" alt="">
<p>
@param sources The sources to use.

@return a {@link Mono}.