if(log.isInfoEnabled()) log.info("coordinators in merge protocol are: " + tmp);
if(log.isDebugEnabled()) log.debug("coordinators in merge protocol are: " + tmp);
    public void merge(Vector other_coords) {        Membership tmp;        Address leader=null;        if(merging) {                if(log.isWarnEnabled()) log.warn("merge already in progress, discarded MERGE event");            return;        }        if(other_coords == null) {            if(log.isWarnEnabled()) log.warn("list of other coordinators is null. Will not start merge.");            return;        }        if(other_coords.size() <= 1) {            if(log.isErrorEnabled()) log.error("number of coordinators found is "                        + other_coords.size() + "; will not perform merge");            return;        }        /* Establish deterministic order, so that coords can elect leader */        tmp=new Membership(other_coords);        tmp.sort();        leader=(Address)tmp.elementAt(0);        if(log.isInfoEnabled()) log.info("coordinators in merge protocol are: " + tmp);        if(leader.equals(gms.local_addr)) {            if(log.isInfoEnabled()) log.info("I (" + leader + ") will be the leader. Starting the merge task");            startMergeTask(other_coords);        }    }