reactor-core/src/main/java/reactor/core/publisher/Operators.java
public static RuntimeException onRejectedExecution(Throwable original,
			@Nullable Subscription subscription,
			@Nullable Throwable suppressed,
			@Nullable Object dataSignal,
			Context context) {
		//we "cheat" to apply the special key for onRejectedExecution in onOperatorError
		if (context.hasKey(Hooks.KEY_ON_REJECTED_EXECUTION)) {
			context = context.put(Hooks.KEY_ON_OPERATOR_ERROR, context.get(Hooks.KEY_ON_REJECTED_EXECUTION));
		}

		//don't create REE if original is a reactor-produced REE (not including singletons)
		RejectedExecutionException ree = Exceptions.failWithRejected(original);
		if (suppressed != null) {
			ree.addSuppressed(suppressed);
		}
		if (dataSignal != null) {
			return Exceptions.propagate(Operators.onOperatorError(subscription, ree,
					dataSignal, context));
		}
		return Exceptions.propagate(Operators.onOperatorError(subscription, ree, context));
	}
public static RuntimeException onRejectedExecution(Throwable original,
			@Nullable Subscription subscription,
			@Nullable Throwable suppressed,
			@Nullable Object dataSignal,
			Context context) {
		//we "cheat" to apply the special key for onRejectedExecution in onOperatorError
		if (context.hasKey(Hooks.KEY_ON_REJECTED_EXECUTION)) {
			context = context.put(Hooks.KEY_ON_OPERATOR_ERROR, context.get(Hooks.KEY_ON_REJECTED_EXECUTION));
		}

		//don't create REE if original is a reactor-produced REE (not including singletons)
		RejectedExecutionException ree = Exceptions.failWithRejected(original);
		if (suppressed != null) {
			ree.addSuppressed(suppressed);
		}
		if (dataSignal != null) {
			return Exceptions.propagate(Operators.onOperatorError(subscription, ree,
					dataSignal, context));
		}
		return Exceptions.propagate(Operators.onOperatorError(subscription, ree, context));
	}
public static RuntimeException onRejectedExecution ( Throwable original , @ Nullable Subscription subscription , @ Nullable Throwable suppressed , @ Nullable Object dataSignal , Context context ) { //we "cheat" to apply the special key for onRejectedExecution in onOperatorError if ( context . hasKey ( Hooks . KEY_ON_REJECTED_EXECUTION ) ) { context = context . put ( Hooks . KEY_ON_OPERATOR_ERROR , context . get ( Hooks . KEY_ON_REJECTED_EXECUTION ) ) ; } //don't create REE if original is a reactor-produced REE (not including singletons) RejectedExecutionException ree = Exceptions . failWithRejected ( original ) ; if ( suppressed != null ) { ree . addSuppressed ( suppressed ) ; } if ( dataSignal != null ) { return Exceptions . propagate ( Operators . onOperatorError ( subscription , ree , dataSignal , context ) ) ; } return Exceptions . propagate ( Operators . onOperatorError ( subscription , ree , context ) ) ; }
Return a wrapped {@link RejectedExecutionException} which can be thrown by the
operator. This exception denotes that an execution was rejected by a
{@link reactor.core.scheduler.Scheduler}, notably when it was already disposed.
<p>
Wrapping is done by calling both {@link Exceptions#failWithRejected(Throwable)} and
{@link #onOperatorError(Subscription, Throwable, Object, Context)} (with the passed
{@link Subscription}).

@param original the original execution error
@param subscription the subscription to pass to onOperatorError.
@param suppressed a Throwable to be suppressed by the {@link RejectedExecutionException} (or null if not relevant)
@param dataSignal a value to be passed to {@link #onOperatorError(Subscription, Throwable, Object, Context)} (or null if not relevant)
@param context a context that might hold a local error consumer
Return a wrapped { @link RejectedExecutionException } which can be thrown by the operator . This exception denotes that an execution was rejected by a { @link reactor . core . scheduler . Scheduler } notably when it was already disposed . <p > Wrapping is done by calling both { @link Exceptions#failWithRejected ( Throwable ) } and { @link #onOperatorError ( Subscription Throwable Object Context ) } ( with the passed { @link Subscription } ) .