view_installation_mutex.notify();
view_installation_mutex.notifyAll();
    public void handleViewChange(ViewId new_view, Vector mems) {        if(gms.local_addr != null && mems != null && mems.contains(gms.local_addr)) {            synchronized(view_installation_mutex) {  // wait until JOIN is sent (above)                joined=true;                view_installation_mutex.notify();                gms.installView(new_view, mems);                gms.becomeParticipant();                gms.passUp(new Event(Event.BECOME_SERVER));                gms.passDown(new Event(Event.BECOME_SERVER));            }            synchronized(initial_mbrs) {    // in case findInitialMembers() is still running:                initial_mbrs.notifyAll();   // this will unblock it            }        }        else            if(log.isWarnEnabled()) log.warn("am not member of " + mems + ", will not install view");    }