code: public static void resetOnScheduleHook(String key) {
  		synchronized (onScheduleHooks) {
  			onScheduleHooks.remove(key);
  			if (onScheduleHooks.isEmpty()) {
  				onScheduleHook = Function.identity();
  			}
  			else {
  				Function<Runnable, Runnable> newHook = null;
  				for (Function<Runnable, Runnable> function : onScheduleHooks.values()) {
  					if (newHook == null) {
  						newHook = function;
  					}
  					else {
  						newHook = newHook.andThen(function);
  					}
  				}
  				onScheduleHook = newHook;
  			}
  		}
  	}
docs: Reset a specific onScheduleHook {@link Function sub-hook} if it has been set up
  via {@link #onScheduleHook(String, Function)}.
  
  @param key the key for onScheduleHook sub-hook to remove
  @see #onScheduleHook(String, Function)
  @see #resetOnScheduleHooks()