code: public void start(QueuedFuture<?> queuedFuture) {
          Runnable timeoutTask = () -> {
              queuedFuture.abort(new TimeoutException());
          };
  
          start(timeoutTask);
      }
docs: start timer and cancel given future