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