class Scheduler extends ScheduledThreadPoolExecutor {

    @Override
    protected <V> RunnableScheduledFuture<V> decorateTask(Runnable runnable, RunnableScheduledFuture<V> future) {
        if (runnable instanceof RunnableContext) {
            ((RunnableContext) runnable).future = future;
        }
        
        return future;
    }

    public  Scheduler(int corePoolSize);
    public  Scheduler(int corePoolSize, ThreadFactory threadFactory);
    public  Scheduler(int corePoolSize, RejectedExecutionHandler handler);
    public  Scheduler(int corePoolSize, ThreadFactory threadFactory, RejectedExecutionHandler handler);

}