private RunnableFuture<V> newTaskFor(Runnable task, V result) {
        return new FutureTask<>(task, result);
    }
FutureTask extension to enqueue upon completion.
xmppserver/src/main/java/org/jivesoftware/util/ScheduledExecutorCompletionService.java