public synchronized void run()
    {
        if (_responseQueue != null)
            System.out.println(getName() + " : starting dispatch");

        if (_responseQueue == null)
        {
            while (_isRunning)
            {
                try
                {
                    wait();
                }
                catch (InterruptedException e)
                {
                }
            }
        }
        else
        {
            while (_isRunning)
            {
                try
                {
                    _responseQueue.dispatch(Dispatchable.INFINITE_WAIT);
                }
                catch (DispatchException de)
                {
                    System.out.println(getName() + " : Queue deactivated");
                    break;
                }
            }
        }
    }