rebroadcast_mutex.notify();
rebroadcast_mutex.notifyAll();
    public boolean handleUpEvent(Event evt) {        switch(evt.getType()) {            case Event.CONNECT_OK:     // sent by someone else, but WE are responsible for sending this !            case Event.DISCONNECT_OK:  // dito (e.g. sent by UDP layer)                return false;            case Event.SET_LOCAL_ADDRESS:                local_addr=(Address)evt.getArg();                if(print_local_addr) {                    System.out.println("\n-------------------------------------------------------\n" +                            "GMS: address is " + local_addr +                            "\n-------------------------------------------------------");                }                return true;                         // pass up            case Event.SUSPECT:                try {                    event_queue.add(evt);                }                catch(Exception e) {                }                return true;                         // pass up            case Event.MERGE:                try {                    event_queue.add(evt);                }                catch(Exception e) {                }                return false;                        // don't pass up            case Event.FLUSH_OK:                synchronized(flush_mutex) {                    flush_rsp=(FlushRsp)evt.getArg();                    flush_mutex.notify();                }                return false;                        // don't pass up            case Event.REBROADCAST_MSGS_OK:                synchronized(rebroadcast_mutex) {                    rebroadcast_mutex.notify();                }                return false;                        // don't pass up        }        return impl.handleUpEvent(evt);    }