private static Response getTaskResponse(FutureResponse future) {
        if (future.isDone() && !future.isCancelled()) {
            return future.get(); // Since isDone() = true, this won't block.
        } else { // Not done and no errors thrown
            return new Response(future.getRequest(), new ErrorMessage("Timed out waiting for " + future));
        }
    }
Performs an async processing. Note that the given request cannot be simultaneously
used in multiple such processings - a clone must be created for each.
container-core/src/main/java/com/yahoo/processing/execution/AsyncExecution.java