private void startConnection(){
  while (doStart()) {
    boolean isValid=false;
    try {
      long now=currentTimeActual();
      updateIdleExpireTime(now);
      int id=_gId.incrementAndGet();
      updateThrottle();
      launchChildThread(id);
      isValid=true;
    }
  finally {
      if (!isValid) {
        onStartFail();
      }
    }
  }
}

private void startConnection ( ) { while ( doStart ( ) ) { boolean isValid = false ; try { long now = currentTimeActual ( ) ; updateIdleExpireTime ( now ) ; int id = _gId . incrementAndGet ( ) ; updateThrottle ( ) ; launchChildThread ( id ) ; isValid = true ; } finally { if ( ! isValid ) { onStartFail ( ) ; } } } }
starts a new connection
