code: protected ExecutorService createDefaultExecutorService(ConcurrentAsyncExecutorProvider provider) {
          final int corePoolSize = 0;
          Integer maximumPoolSize = provider != null ? provider.provideMaxPoolSize() : null;
          if (maximumPoolSize == null) {
              maximumPoolSize = 10;
          }
          final long keepAliveTime = 60L;
          final TimeUnit seconds = TimeUnit.SECONDS;
          final BlockingQueue<Runnable> workQueue = createDefaultBlockingQueue();
          final RejectedExecutionHandler rejected = createRejectedExecutionHandler();
          return new ThreadPoolExecutor(corePoolSize, maximumPoolSize, keepAliveTime, seconds, workQueue, rejected);
      }
docs: ------------------------