if(log.isInfoEnabled()) log.info("message size is " + size + ", will fragment " + "(frag_size == " + frag_size + ")");
if(log.isTraceEnabled()) log.trace("message size is " + size + ", will fragment (frag_size == " + frag_size + ")");
    public void down(Event evt) {        switch(evt.getType()) {            case Event.MSG:                Message msg=(Message)evt.getArg();                long size=msg.size();                if(size > frag_size) {                        if(log.isInfoEnabled()) log.info("message size is " + size + ", will fragment " +                                "(frag_size == " + frag_size + ")");                    fragment(msg);  // Fragment and pass down                    return;                }                break;            case Event.VIEW_CHANGE:                //don't do anything if this dude is sending out the view change                //we are receiving a view change,                //in here we check for the                View view=(View)evt.getArg();                Vector new_mbrs=view.getMembers(), left_mbrs;                Address mbr;                left_mbrs=Util.determineLeftMembers(members, new_mbrs);                members.clear();                members.addAll(new_mbrs);                for(int i=0; i < left_mbrs.size(); i++) {                    mbr=(Address)left_mbrs.elementAt(i);                    //the new view doesn't contain the sender, he must have left,                    //hence we will clear all his fragmentation tables                    fragment_list.remove(mbr);                        if(log.isInfoEnabled()) log.info("[VIEW_CHANGE] removed " + mbr + " from fragmentation table");                }                break;            case Event.CONFIG:                passDown(evt);                 if(log.isInfoEnabled()) log.info("received CONFIG event: " + evt.getArg());                handleConfigEvent((HashMap)evt.getArg());                return;        }        passDown(evt);  // Pass on to the layer below us    }