code: public boolean runNext() {
      if (!hasQueuedTasks()) {
        return false;
      }
      if (Thread.currentThread().equals(executorThread)) {
        Logger.info("ignoring request to execute task - called from executor's own thread");
        return false;
      }
      Runnable task = deferredTasks.poll();
      task.run();
      return true;
    }
docs: Executes the next queued task.
  
  Will be ignored if called from the executor service thread to prevent deadlocks.
  
  @return true if task was run, false if queue was empty