reactor-core/src/main/java/reactor/core/publisher/Flux.java
public final Flux<T> or(Publisher<? extends T> other) {
		if (this instanceof FluxFirstEmitting) {
			FluxFirstEmitting<T> publisherAmb = (FluxFirstEmitting<T>) this;

			FluxFirstEmitting<T> result = publisherAmb.ambAdditionalSource(other);
			if (result != null) {
				return result;
			}
		}
		return first(this, other);
	}
public final Flux<T> or(Publisher<? extends T> other) {
		if (this instanceof FluxFirstEmitting) {
			FluxFirstEmitting<T> publisherAmb = (FluxFirstEmitting<T>) this;

			FluxFirstEmitting<T> result = publisherAmb.ambAdditionalSource(other);
			if (result != null) {
				return result;
			}
		}
		return first(this, other);
	}
Pick the first {@link Publisher} between this {@link Flux} and another 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/orForFlux.svg" alt="">

@param other the {@link Publisher} to race with

@return the fastest sequence
@see #first