public void start(QueuedFuture<?> queuedFuture) {
        Runnable timeoutTask = () -> {
            queuedFuture.abort(new TimeoutException());
        };

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