code: public void setIdleMax(int max)
    {
      if (max == _idleMax) {
        // avoid update() overhead if unchanged
        return;
      }
      
      if (max <= 0) {
        max = DEFAULT_IDLE_MAX;
      }
          if (_threadMax < max)
        throw new ConfigException(L.l("IdleMax ({0}) must be less than ThreadMax ({1})", max, _threadMax));
      if (max <= 0)
        throw new ConfigException(L.l("IdleMax ({0}) must be greater than 0.", max));
  
      _idleMax = max;
  
      update();
    }
docs: Sets the maximum number of idle threads.