reactor-core/src/main/java/reactor/core/publisher/Mono.java
public final Mono<T> subscriberContext(Context mergeContext) {
		return subscriberContext(c -> c.putAll(mergeContext));
	}
public final Mono<T> subscriberContext(Context mergeContext) {
		return subscriberContext(c -> c.putAll(mergeContext));
	}
Enrich a potentially empty downstream {@link Context} by adding all values
from the given {@link Context}, producing a new {@link Context} that is propagated
upstream.
<p>
The {@link Context} propagation happens once per subscription (not on each onNext):
it is done during the {@code subscribe(Subscriber)} phase, which runs from
the last operator of a chain towards the first.
<p>
So this operator enriches a {@link Context} coming from under it in the chain
(downstream, by default an empty one) and makes the new enriched {@link Context}
visible to operators above it in the chain.

@param mergeContext the {@link Context} to merge with a previous {@link Context}
state, returning a new one.

@return a contextualized {@link Mono}
@see Context