protected boolean doStart(){
  if (!_lifecycle.isActive()) {
    return false;
  }
  if (!isEnable()) {
    return false;
  }
  int startingCount=_startingCount.getAndIncrement();
  int threadCount=_threadCount.get() + startingCount;
  if (_threadMax < threadCount) {
    _startingCount.decrementAndGet();
    onThreadMax();
    return false;
  }
 else   if (isIdleTooLow(startingCount)) {
    return true;
  }
 else {
    _startingCount.decrementAndGet();
    return false;
  }
}

protected boolean doStart ( ) { if ( ! _lifecycle . isActive ( ) ) { return false ; } if ( ! isEnable ( ) ) { return false ; } int startingCount = _startingCount . getAndIncrement ( ) ; int threadCount = _threadCount . get ( ) + startingCount ; if ( _threadMax < threadCount ) { _startingCount . decrementAndGet ( ) ; onThreadMax ( ) ; return false ; } else if ( isIdleTooLow ( startingCount ) ) { return true ; } else { _startingCount . decrementAndGet ( ) ; return false ; } }
checks if the launcher should start another thread .
