public static <T> Mono<T> defer(Supplier<? extends Mono<? extends T>> supplier) {
		return onAssembly(new MonoDefer<>(supplier));
	}
public static <T> Mono<T> defer(Supplier<? extends Mono<? extends T>> supplier) {
		return onAssembly(new MonoDefer<>(supplier));
	}
public static < T > Mono < T > defer ( Supplier < ? extends Mono < ? extends T > > supplier ) { return onAssembly ( new MonoDefer <> ( supplier ) ) ; }
Create a {@link Mono} provider that will {@link Supplier#get supply} a target {@link Mono} to subscribe to for
each {@link Subscriber} downstream.

<p>
<img class="marble" src="doc-files/marbles/deferForMono.svg" alt="">
<p>
@param supplier a {@link Mono} factory
@param <T> the element type of the returned Mono instance
@return a new {@link Mono} factory
Create a { @link Mono } provider that will { @link Supplier#get supply } a target { @link Mono } to subscribe to for each { @link Subscriber } downstream .