code: @UnstableApi
      protected long deadlineNanos() {
          ScheduledFutureTask<?> scheduledTask = peekScheduledTask();
          if (scheduledTask == null) {
              return nanoTime() + SCHEDULE_PURGE_INTERVAL;
          }
          return scheduledTask.deadlineNanos();
      }
docs: Returns the absolute point in time (relative to {@link #nanoTime()}) at which the the next
  closest scheduled task should run.