monitor.eventHandled( DefaultStage.this, event ) ;
        public final void run()        {            monitor.startedDriver( DefaultStage.this ) ;                while( hasStarted.booleanValue() )             {                synchronized ( queue )                 {                    if( queue.isEmpty() )                     {                        try                         {                            queue.wait() ;                        }                         catch( InterruptedException e )                         {                            try { stop() ; } catch ( Exception e2 )                             {/*NOT THROWN*/}                            monitor.driverFailed( DefaultStage.this, e ) ;                        }                    }                     else                     {                        EventObject event = ( EventObject ) queue.removeLast() ;                        monitor.eventDequeued( DefaultStage.this, event ) ;                        Runnable l_runnable = new ExecutableHandler( event ) ;                        config.getThreadPool().execute( l_runnable ) ;                    }                }            }        }