Method that may be invoked by a {@link ThreadPoolExecutor} when{@link ThreadPoolExecutor#execute execute} cannot accept atask. This may occur when no more threads or queue slots are available because their bounds would be exceeded, or upon shutdown of the Executor.
In the absence of other alternatives, the method may throw an unchecked {@link RejectedExecutionException}, which will be propagated to the caller of {@code execute}.
@param r the runnable task requested to be executed
@param executor the executor attempting to execute this task
@throws RejectedExecutionException if there is no remedy