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

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