@Override protected <V> RunnableScheduledFuture<V> decorateTask(Callable<V> callable, RunnableScheduledFuture<V> task) { if (!manualRemoveOnCancel) { return super.decorateTask(callable, task); } return new RemoveOnCancelFuture<V>(callable, task, this); }
@Override protected <V> RunnableScheduledFuture<V> decorateTask(Runnable runnable, RunnableScheduledFuture<V> task) { if (!manualRemoveOnCancel) { return super.decorateTask(runnable, task); } return new RemoveOnCancelFuture<V>(runnable, task, this); }
@Override protected <V> RunnableScheduledFuture<V> decorateTask(Callable<V> callable, RunnableScheduledFuture<V> task) { if (!manualRemoveOnCancel) { return super.decorateTask(callable, task); } return new RemoveOnCancelFuture<V>(callable, task, this); }
@Override protected <V> RunnableScheduledFuture<V> decorateTask(Runnable runnable, RunnableScheduledFuture<V> task) { if (!manualRemoveOnCancel) { return super.decorateTask(runnable, task); } return new RemoveOnCancelFuture<V>(runnable, task, this); }