reactor-core/src/main/java/reactor/core/scheduler/Schedulers.java
public static BiFunction<Scheduler, ScheduledExecutorService, ScheduledExecutorService> removeExecutorServiceDecorator(String key) {
		BiFunction<Scheduler, ScheduledExecutorService, ScheduledExecutorService> removed;
		synchronized (DECORATORS) {
			removed = DECORATORS.remove(key);
		}
		if (removed instanceof Disposable) {
			((Disposable) removed).dispose();
		}
		return removed;
	}
public static BiFunction<Scheduler, ScheduledExecutorService, ScheduledExecutorService> removeExecutorServiceDecorator(String key) {
		BiFunction<Scheduler, ScheduledExecutorService, ScheduledExecutorService> removed;
		synchronized (DECORATORS) {
			removed = DECORATORS.remove(key);
		}
		if (removed instanceof Disposable) {
			((Disposable) removed).dispose();
		}
		return removed;
	}
Remove an existing {@link ScheduledExecutorService} decorator if it has been set up
via {@link #addExecutorServiceDecorator(String, BiFunction)}. Note that the {@link Factory}'s
legacy {@link Factory#decorateExecutorService(String, Supplier)} method is always
applied last, even if all other decorators have been removed via this method.
<p>
In case the decorator implements {@link Disposable}, it is also
{@link Disposable#dispose() disposed}.

@param key the key for the executor service decorator to remove
@return the removed decorator, or null if none was set for that key
@see #addExecutorServiceDecorator(String, BiFunction)
@see #setExecutorServiceDecorator(String, BiFunction)