docs: public ThreadPoolExecutor getThreadPool(final HystrixThreadPoolKey threadPoolKey, HystrixProperty<Integer> corePoolSize, HystrixProperty<Integer> maximumPoolSize, HystrixProperty<Integer> keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue) {
          final ThreadFactory threadFactory = getThreadFactory(threadPoolKey);
  
          final int dynamicCoreSize = corePoolSize.get();
          final int dynamicMaximumSize = maximumPoolSize.get();
  
          if (dynamicCoreSize > dynamicMaximumSize) {
              logger.error("Hystrix ThreadPool configuration at startup for : " + threadPoolKey.name() + " is trying to set coreSize = " +
                      dynamicCoreSize + " and maximumSize = " + dynamicMaximumSize + ".  Maximum size will be set to " +
                      dynamicCoreSize + ", the coreSize value, since it must be equal to or greater than the coreSize value");
              return new ThreadPoolExecutor(dynamicCoreSize, dynamicCoreSize, keepAliveTime.get(), unit, workQueue, threadFactory);
          } else {
              return new ThreadPoolExecutor(dynamicCoreSize, dynamicMaximumSize, keepAliveTime.get(), unit, workQueue, threadFactory);
          }
      }