private static RejectedExecutionHandler newRejectedExecutionHandler(BlockingQueue<Runnable> q) {
    if (q instanceof SynchronousQueue) {
      return new CallerRunsPolicy();
    }
    // create a thread that takes from bufferQueue and puts into result
    return new BufferHandler();
  }
This handler fronts a synchronous queue, that is owned by the parent ThreadPoolExecutor, with a
the
client supplied BlockingQueue that supports storage (the buffer queue). A dedicated thread is
used to consume off the buffer queue and put into the synchronous queue.
geode-core/src/main/java/org/apache/geode/distributed/internal/PooledExecutorWithDMStats.java