public static <T> Mono<T> first(Iterable<? extends Mono<? extends T>> monos) {
		return onAssembly(new MonoFirst<>(monos));
	}
public static <T> Mono<T> first(Iterable<? extends Mono<? extends T>> monos) {
		return onAssembly(new MonoFirst<>(monos));
	}
public static < T > Mono < T > first ( Iterable < ? extends Mono < ? extends T > > monos ) { return onAssembly ( new MonoFirst <> ( monos ) ) ; }
Pick the first available result coming from any of the given monos and populate a new {@literal Mono}.

<p>
<img class="marble" src="doc-files/marbles/firstForMono.svg" alt="">
<p>
@param monos The monos to use.
@param <T> The type of the function result.

@return a {@link Mono}.
Pick the first available result coming from any of the given monos and populate a new { @literal Mono } .