try { initial_mbrs.wait(); } catch(Exception e) {
if(initial_mbrs_received == false) { try { initial_mbrs.wait(); } catch(Exception e) { }
    void findInitialMembers() {        PingRsp ping_rsp;        synchronized(initial_mbrs) {            initial_mbrs.removeAllElements();            gms.passDown(new Event(Event.FIND_INITIAL_MBRS));            try {                initial_mbrs.wait();            }            catch(Exception e) {            }            for(int i=0; i < initial_mbrs.size(); i++) {                ping_rsp=(PingRsp)initial_mbrs.elementAt(i);                if(ping_rsp.own_addr != null && gms.local_addr != null &&                        ping_rsp.own_addr.equals(gms.local_addr)) {                    initial_mbrs.removeElementAt(i);                    break;                }            }        }    }