code: protected boolean runAllTasks(long timeoutNanos) {
          fetchFromScheduledTaskQueue();
          Runnable task = pollTask();
          if (task == null) {
              afterRunningAllTasks();
              return false;
          }
  
          final long deadline = ScheduledFutureTask.nanoTime() + timeoutNanos;
          long runTasks = 0;
          long lastExecutionTime;
          for (;;) {
              safeExecute(task);
  
              runTasks ++;
  
              // Check timeout every 64 tasks because nanoTime() is relatively expensive.
              // XXX: Hard-coded value - will make it configurable if it is really a problem.
              if ((runTasks & 0x3F) == 0) {
                  lastExecutionTime = ScheduledFutureTask.nanoTime();
                  if (lastExecutionTime >= deadline) {
                      break;
                  }
              }
  
              task = pollTask();
              if (task == null) {
                  lastExecutionTime = ScheduledFutureTask.nanoTime();
                  break;
              }
          }
  
          afterRunningAllTasks();
          this.lastExecutionTime = lastExecutionTime;
          return true;
      }
docs: Poll all tasks from the task queue and run them via {@link Runnable#run()} method.  This method stops running
  the tasks in the task queue and returns if it ran longer than {@code timeoutNanos}.