docs: public static ThreadPoolExecutor getBoundedThreadPoolExecutor(int maxPoolSize, long keepAliveTime, TimeUnit unit, ThreadFactory tFactory) {
          return new ThreadPoolExecutor(0, maxPoolSize, keepAliveTime, unit,
                                        new SynchronousQueue<Runnable>(), tFactory);
      }