code: public final Flux<T> mergeWith(Publisher<? extends T> other) {
  		if (this instanceof FluxMerge) {
  			FluxMerge<T> fluxMerge = (FluxMerge<T>) this;
  			return fluxMerge.mergeAdditionalSource(other, Queues::get);
  		}
  		return merge(this, other);
  	}
docs: Merge data from this {@link Flux} and a {@link Publisher} into an interleaved merged
  sequence. Unlike {@link #concatWith(Publisher) concat}, inner sources are subscribed
  to eagerly.
  <p>
  <img class="marble" src="doc-files/marbles/mergeWithForFlux.svg" alt="">
  <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.
  
  @param other the {@link Publisher} to merge with
  
  @return a new {@link Flux}