public static <R>  Mono<R> zipDelayError(Function<? super Object[], ? extends R>
			combinator, Mono<?>... monos) {
    """
	Merge given monos into a new {@literal Mono} that will be fulfilled when all of the
	given {@literal Monos} have produced an item, aggregating their values according to
	the provided combinator function and delaying errors.
	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/zipDelayErrorVarSourcesWithZipper.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 combined {@link Mono}.
    """
		if (monos.length == 0) {
			return empty();
		}
		if (monos.length == 1) {
			return monos[0].map(d -> combinator.apply(new Object[]{d}));
		}
		return onAssembly(new MonoZip<>(true, combinator, monos));
	}
public static <R>  Mono<R> zipDelayError(Function<? super Object[], ? extends R>
			combinator, Mono<?>... monos) {
		if (monos.length == 0) {
			return empty();
		}
		if (monos.length == 1) {
			return monos[0].map(d -> combinator.apply(new Object[]{d}));
		}
		return onAssembly(new MonoZip<>(true, combinator, monos));
	}
public static < R > Mono < R > zipDelayError ( Function < ? super Object [ ] , ? extends R > combinator , Mono < ? > ... monos ) { if ( monos . length == 0 ) { return empty ( ) ; } if ( monos . length == 1 ) { return monos [ 0 ] . map ( d -> combinator . apply ( new Object [ ] { d } ) ) ; } return onAssembly ( new MonoZip <> ( true , combinator , monos ) ) ; }
Merge given monos into a new {@literal Mono} that will be fulfilled when all of the
given {@literal Monos} have produced an item, aggregating their values according to
the provided combinator function and delaying errors.
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/zipDelayErrorVarSourcesWithZipper.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 combined {@link Mono}.
Merge given monos into a new { @literal Mono } that will be fulfilled when all of the given { @literal Monos } have produced an item aggregating their values according to the provided combinator function and delaying errors . 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 ) .