reactor-core/src/main/java/reactor/core/publisher/Mono.java
@SuppressWarnings("unchecked")
	@Deprecated
	protected static <T> Mono<T> onLastAssembly(Mono<T> source) {
		Function<Publisher, Publisher> hook = Hooks.onLastOperatorHook;
		if(hook == null) {
			return source;
		}
		return (Mono<T>)Objects.requireNonNull(hook.apply(source), "LastOperator hook returned null");
	}
@SuppressWarnings("unchecked")
	@Deprecated
	protected static <T> Mono<T> onLastAssembly(Mono<T> source) {
		Function<Publisher, Publisher> hook = Hooks.onLastOperatorHook;
		if(hook == null) {
			return source;
		}
		return (Mono<T>)Objects.requireNonNull(hook.apply(source), "LastOperator hook returned null");
	}
To be used by custom operators: invokes assembly {@link Hooks} pointcut given a
{@link Mono}, potentially returning a new {@link Mono}. This is for example useful
to activate cross-cutting concerns at assembly time, eg. a generalized
{@link #checkpoint()}.

@param <T> the value type
@param source the source to apply assembly hooks onto

@return the source, potentially wrapped with assembly time cross-cutting behavior
@deprecated use {@link Operators#onLastAssembly(CorePublisher)}