reactor-core/src/main/java/reactor/core/publisher/Mono.java
public final MonoProcessor<T> toProcessor() {
		MonoProcessor<T> result;
		if (this instanceof MonoProcessor) {
			result = (MonoProcessor<T>)this;
		}
		else {
			result = new MonoProcessor<>(this);
		}
		result.connect();
		return result;
	}
public final MonoProcessor<T> toProcessor() {
		MonoProcessor<T> result;
		if (this instanceof MonoProcessor) {
			result = (MonoProcessor<T>)this;
		}
		else {
			result = new MonoProcessor<>(this);
		}
		result.connect();
		return result;
	}
Wrap this {@link Mono} into a {@link MonoProcessor} (turning it hot and allowing to block,
cancel, as well as many other operations). Note that the {@link MonoProcessor}
is subscribed to its parent source if any.

@return a {@link MonoProcessor} to use to either retrieve value or cancel the underlying {@link Subscription}