@Override
    public void execute(Runnable command) {
        try {
            primary.execute(command);
        } catch (RejectedExecutionException e1) {
            secondary.execute(() -> retryForever(command));
        }
    }
An executor that will first try a bounded cached thread pool before falling back to an unbounded
single threaded thread pool that will take over dispatching to the primary pool.
vespajlib/src/main/java/com/yahoo/concurrent/CachedThreadPoolWithFallback.java