reactor-core/src/main/java/reactor/core/publisher/Flux.java
public final Flux<T> mergeOrderedWith(Publisher<? extends T> other,
			Comparator<? super T> otherComparator) {
		if (this instanceof FluxMergeOrdered) {
			FluxMergeOrdered<T> fluxMerge = (FluxMergeOrdered<T>) this;
			return fluxMerge.mergeAdditionalSource(other, otherComparator);
		}
		return mergeOrdered(otherComparator, this, other);
	}
public final Flux<T> mergeOrderedWith(Publisher<? extends T> other,
			Comparator<? super T> otherComparator) {
		if (this instanceof FluxMergeOrdered) {
			FluxMergeOrdered<T> fluxMerge = (FluxMergeOrdered<T>) this;
			return fluxMerge.mergeAdditionalSource(other, otherComparator);
		}
		return mergeOrdered(otherComparator, this, other);
	}
public final Flux < T > mergeOrderedWith ( Publisher < ? extends T > other , Comparator < ? super T > otherComparator ) { if ( this instanceof FluxMergeOrdered ) { FluxMergeOrdered < T > fluxMerge = ( FluxMergeOrdered < T > ) this ; return fluxMerge . mergeAdditionalSource ( other , otherComparator ) ; } return mergeOrdered ( otherComparator , this , other ) ; }
Merge data from this {@link Flux} and a {@link Publisher} into a reordered merge
sequence, by picking the smallest value from each sequence as defined by a provided
{@link Comparator}. Note that subsequent calls are combined, and their comparators are
in lexicographic order as defined by {@link Comparator#thenComparing(Comparator)}.
<p>
The combination step is avoided if the two {@link Comparator Comparators} are
{@link Comparator#equals(Object) equal} (which can easily be achieved by using the
same reference, and is also always true of {@link Comparator#naturalOrder()}).
<p>
Note that merge is tailored to work with asynchronous sources or finite sources. When dealing with
an infinite source that doesn't already publish on a dedicated Scheduler, you must isolate that source
in its own Scheduler, as merge would otherwise attempt to drain it before subscribing to
another source.
<p>
<img class="marble" src="doc-files/marbles/mergeOrderedWith.svg" alt="">

@param other the {@link Publisher} to merge with
@param otherComparator the {@link Comparator} to use for merging

@return a new {@link Flux}
Merge data from this { @link Flux } and a { @link Publisher } into a reordered merge sequence by picking the smallest value from each sequence as defined by a provided { @link Comparator } . Note that subsequent calls are combined and their comparators are in lexicographic order as defined by { @link Comparator#thenComparing ( Comparator ) } . <p > The combination step is avoided if the two { @link Comparator Comparators } are { @link Comparator#equals ( Object ) equal } ( which can easily be achieved by using the same reference and is also always true of { @link Comparator#naturalOrder () } ) . <p > Note that merge is tailored to work with asynchronous sources or finite sources . When dealing with an infinite source that doesn t already publish on a dedicated Scheduler you must isolate that source in its own Scheduler as merge would otherwise attempt to drain it before subscribing to another source . <p > <img class = marble src = doc - files / marbles / mergeOrderedWith . svg alt = >