reactor-core/src/main/java/reactor/core/publisher/Flux.java
public final <V> Flux<V> switchMap(Function<? super T, Publisher<? extends V>> fn, int prefetch) {
		return onAssembly(new FluxSwitchMap<>(this, fn, Queues.unbounded(prefetch), prefetch));
	}
public final <V> Flux<V> switchMap(Function<? super T, Publisher<? extends V>> fn, int prefetch) {
		return onAssembly(new FluxSwitchMap<>(this, fn, Queues.unbounded(prefetch), prefetch));
	}
Switch to a new {@link Publisher} generated via a {@link Function} whenever
this {@link Flux} produces an item. As such, the elements from each generated
Publisher are emitted in the resulting {@link Flux}.

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

@param fn the {@link Function} to generate a {@link Publisher} for each source value
@param prefetch the produced demand for inner sources

@param <V> the type of the return value of the transformation function

@return a new {@link Flux} that emits values from an alternative {@link Publisher}
for each source onNext