code: public ScheduledFuture<?> schedule(Options options, Runnable task) {
      if (!started) {
        startThreads();
      }
      DelayedTask t = new DelayedTask(clock, options, task);
      queue.put(t);
      return t;
    }
docs: Schedule a repetitive task.
  
  @param options
  Options for controlling the execution of the task. See {@link Options}
  for more information.
  @param task
  Task to execute.
  @return
  Future that can be used for cancelling the current and future executions of
  the task. There is no value associated with the task so the future is just for
  checking if it is still running to stopping it from running in the future.