code: @Override
      public void setCorePoolSize(int corePoolSize) {
          if (corePoolSize < 0) {
              throw new IllegalArgumentException("corePoolSize: " + corePoolSize);
          }
          if (corePoolSize > super.getMaximumPoolSize()) {
              throw new IllegalArgumentException("corePoolSize exceeds maximumPoolSize");
          }
  
          synchronized (workers) {
              if (super.getCorePoolSize()> corePoolSize) {
                  for (int i = super.getCorePoolSize() - corePoolSize; i > 0; i --) {
                      removeWorker();
                  }
              }
              super.setCorePoolSize(corePoolSize);
          }
      }
docs: {@inheritDoc}