reactor-core/src/main/java/reactor/core/publisher/FluxFirstEmitting.java
@Nullable
	FluxFirstEmitting<T> ambAdditionalSource(Publisher<? extends T> source) {
		if (array != null) {
			int n = array.length;
			@SuppressWarnings("unchecked") Publisher<? extends T>[] newArray =
					new Publisher[n + 1];
			System.arraycopy(array, 0, newArray, 0, n);
			newArray[n] = source;

			return new FluxFirstEmitting<>(newArray);
		}
		return null;
	}
@Nullable
	FluxFirstEmitting<T> ambAdditionalSource(Publisher<? extends T> source) {
		if (array != null) {
			int n = array.length;
			@SuppressWarnings("unchecked") Publisher<? extends T>[] newArray =
					new Publisher[n + 1];
			System.arraycopy(array, 0, newArray, 0, n);
			newArray[n] = source;

			return new FluxFirstEmitting<>(newArray);
		}
		return null;
	}
@ Nullable FluxFirstEmitting < T > ambAdditionalSource ( Publisher < ? extends T > source ) { if ( array != null ) { int n = array . length ; @ SuppressWarnings ( "unchecked" ) Publisher < ? extends T > [ ] newArray = new Publisher [ n + 1 ] ; System . arraycopy ( array , 0 , newArray , 0 , n ) ; newArray [ n ] = source ; return new FluxFirstEmitting <> ( newArray ) ; } return null ; }
Returns a new instance which has the additional source to be amb'd together with
the current array of sources.
<p>
This operation doesn't change the current FluxFirstEmitting instance.

@param source the new source to merge with the others

@return the new FluxFirstEmitting instance or null if the Amb runs with an Iterable
Returns a new instance which has the additional source to be amb d together with the current array of sources . <p > This operation doesn t change the current FluxFirstEmitting instance .