code: public static ScheduledThreadPoolExecutor buildDefaultTimeoutThreadPool(final String name) {
          ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(5, getThreadFactory(name));
          safeSetRemoveOnCancel(executor);
          executor.setKeepAliveTime(5, TimeUnit.SECONDS);
          executor.allowCoreThreadTimeOut(true);
  
          return executor;
      }
docs: Creates a {@link ScheduledThreadPoolExecutor} with custom name for the threads.
  
  @param name the prefix to add to the thread name in ThreadFactory.
  @return The default thread pool for request timeout and client execution timeout features.