reactor-core/src/main/java/reactor/core/publisher/Flux.java
@SafeVarargs
	public static <I> Flux<I> first(Publisher<? extends I>... sources) {
		return onAssembly(new FluxFirstEmitting<>(sources));
	}
@SafeVarargs
	public static <I> Flux<I> first(Publisher<? extends I>... sources) {
		return onAssembly(new FluxFirstEmitting<>(sources));
	}
@ SafeVarargs public static < I > Flux < I > first ( Publisher < ? extends I > ... sources ) { return onAssembly ( new FluxFirstEmitting <> ( sources ) ) ; }
Pick the first {@link Publisher} to emit any signal (onNext/onError/onComplete) and
replay all signals from that {@link Publisher}, effectively behaving like the
fastest of these competing sources.

<p>
<img class="marble" src="doc-files/marbles/firstForFlux.svg" alt="">

@param sources The competing source publishers
@param <I> The type of values in both source and output sequences

@return a new {@link Flux} behaving like the fastest of its sources
Pick the first { @link Publisher } to emit any signal ( onNext / onError / onComplete ) and replay all signals from that { @link Publisher } effectively behaving like the fastest of these competing sources .