@Override
 public <T> Future<T> submitScheduled(Callable<T> task, long delayInMs, TaskPriority priority) {
   return scheduler.submitScheduled(task, delayInMs, priority);
 }
 @Override
 public Future<?> submitScheduled(Runnable task, long delayInMs, TaskPriority priority) {
   return scheduler.submitScheduled(task, delayInMs, priority);
 }
 @Override
 public void schedule(Runnable task, long delayInMs, TaskPriority priority) {
   scheduler.schedule(task, delayInMs, priority);
 }
 @Override
 public <T> Future<T> submit(Callable<T> task, TaskPriority priority) {
   return scheduler.submit(task, priority);
 }
 @Override
 public boolean isShutdown() {
   return scheduler.isShutdown();
 }
 @Override
 public void scheduleWithFixedDelay(
     Runnable task, long initialDelay, long recurringDelay, TaskPriority priority) {
   scheduler.scheduleWithFixedDelay(task, initialDelay, recurringDelay, priority);
 }