reactor-core/src/main/java/reactor/core/publisher/Mono.java
public static <R> Mono<R> zipDelayError(final Iterable<? extends Mono<?>> monos, Function<? super Object[], ? extends R> combinator) {
		return onAssembly(new MonoZip<>(true, combinator, monos));
	}
public static <R> Mono<R> zipDelayError(final Iterable<? extends Mono<?>> monos, Function<? super Object[], ? extends R> combinator) {
		return onAssembly(new MonoZip<>(true, combinator, monos));
	}
Aggregate given monos into a new {@literal Mono} that will be fulfilled when all of the given {@literal
Monos} have produced an item. Errors from the sources are delayed.
If a Mono source completes without value, all other sources are run to completion then
the resulting {@link Mono} completes empty.
If several Monos error, their exceptions are combined (as suppressed exceptions on a root exception).
<p>
<img class="marble" src="doc-files/marbles/zipDelayErrorIterableSources.svg" alt="">
<p>

@param monos The monos to use.
@param combinator the function to transform the combined array into an arbitrary
object.
@param <R> the combined result

@return a {@link Mono}.