reactor-core/src/main/java/reactor/core/scheduler/Schedulers.java
public static boolean addExecutorServiceDecorator(String key, BiFunction<Scheduler, ScheduledExecutorService, ScheduledExecutorService> decorator) {
		synchronized (DECORATORS) {
			return DECORATORS.putIfAbsent(key, decorator) == null;
		}
	}
public static boolean addExecutorServiceDecorator(String key, BiFunction<Scheduler, ScheduledExecutorService, ScheduledExecutorService> decorator) {
		synchronized (DECORATORS) {
			return DECORATORS.putIfAbsent(key, decorator) == null;
		}
	}
Set up an additional {@link ScheduledExecutorService} decorator for a given key
only if that key is not 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.
@return true if the decorator was added, false if a decorator was already present
for this key.
@see #setExecutorServiceDecorator(String, BiFunction)
@see #removeExecutorServiceDecorator(String)
@see Schedulers#onScheduleHook(String, Function)