while ( m_thread.isAlive() || ! m_activeWorkers.isEmpty() ) { Thread.sleep( 100 ) ; }
m_queue.notifyAll() ;
    public void stop() throws InterruptedException    {        synchronized( m_hasStarted )        {            m_hasStarted = new Boolean( false ) ;            synchronized( m_activeWorkers )             {                while ( m_thread.isAlive() || ! m_activeWorkers.isEmpty() )                {                    Thread.sleep( 100 ) ;                }            }        }                m_monitor.stopped( this ) ;    }