m_selector.wakeup() ;
    public void stop() throws InterruptedException    {        synchronized( m_hasStarted )        {            m_hasStarted = new Boolean( false ) ;                        while ( m_thread.isAlive() )            {                Thread.sleep( 100 ) ;            }        }                m_monitor.stopped() ;    }