@Override
    public void run() {
      while (true) {
        try {
          SchedulingWrapper.MyScheduledFutureTask<?> task = take();
          if (LOG.isTraceEnabled()) {
            LOG.trace("Took "+BoundedTaskExecutor.info(task));
          }
          try {
            if (!task.executeMeInBackendExecutor()) {
              break;
            }
          }
          catch (Throwable e) {
            try {
              LOG.error("Error executing "+task, e);
            }
            catch (Throwable ignored) {
              // do not let it stop the thread
            }
          }
        }
        catch (InterruptedException e) {
          if (shutdownTrace.get() == null) {
            LOG.error(e);
          }
        }
      }
      LOG.debug("AppDelayQueue.TransferrerThread Stopped");
    }
@Override
    public void run()