@Override public void run(){
  try {
    _launcher.onChildIdleBegin();
    _launcher.onChildThreadLaunchBegin();
    _pool.addThread(this);
    runTasks();
  }
 catch (  Throwable e) {
    log.log(Level.WARNING,e.toString(),e);
  }
 finally {
    _pool.removeThread(this);
    _launcher.onChildIdleEnd();
    _launcher.onChildThreadLaunchEnd();
  }
}

@ Override public void run ( ) { try { _launcher . onChildIdleBegin ( ) ; _launcher . onChildThreadLaunchBegin ( ) ; _pool . addThread ( this ) ; runTasks ( ) ; } catch ( Throwable e ) { log . log ( Level . WARNING , e . toString ( ) , e ) ; } finally { _pool . removeThread ( this ) ; _launcher . onChildIdleEnd ( ) ; _launcher . onChildThreadLaunchEnd ( ) ; } }
the main thread execution method .
