reactor-core/src/main/java/reactor/core/scheduler/Schedulers.java
public static void setExecutorServiceDecorator(String key, BiFunction<Scheduler, ScheduledExecutorService, ScheduledExecutorService> decorator) {
		synchronized (DECORATORS) {
			DECORATORS.put(key, decorator);
		}
	}
public static void setExecutorServiceDecorator(String key, BiFunction<Scheduler, ScheduledExecutorService, ScheduledExecutorService> decorator) {
		synchronized (DECORATORS) {
			DECORATORS.put(key, decorator);
		}
	}
Set up an additional {@link ScheduledExecutorService} decorator for a given key,
even if that key is already present. Note that the {@link Factory}'s legacy
{@link Factory#decorateExecutorService(String, Supplier)} method will always be
invoked last after applying the decorators added via this method.
<p>
The decorator is a {@link BiFunction} taking the Scheduler and the backing
{@link ScheduledExecutorService} as second argument. It returns the
decorated {@link ScheduledExecutorService}.

@param key the key under which to set up the decorator
@param decorator the executor service decorator to add, if key not already present.
@see #addExecutorServiceDecorator(String, BiFunction)
@see #removeExecutorServiceDecorator(String)
@see Schedulers#onScheduleHook(String, Function)