{ if(log.isInfoEnabled()) log.info("sending " + total_bytes + " bytes"); }
if(log.isTraceEnabled()) log.trace("sending " + total_bytes + " bytes");
        protected void handleMessage(Message msg) throws Exception {            Address        dest=msg.getDest();            long           len;            List           tmp;            len=msg.size(); // todo: use msg.getLength() instead of msg.getSize()            if(len > max_bundle_size)                throw new Exception("UDP.BundlingOutgoingPacketHandler.handleMessage(): " +                        "message size (" + len + ") is greater than UDP fragmentation size. " +                        "Set the fragmentation/bundle size in FRAG and UDP correctly");            if(total_bytes + len >= max_bundle_size) {                 {                    if(log.isInfoEnabled()) log.info("sending " + total_bytes + " bytes");                }                bundleAndSend(); // send all pending message and clear table                total_bytes=0;            }            synchronized(msgs) {                tmp=(List)msgs.get(dest);                if(tmp == null) {                    tmp=new List();                    msgs.put(dest, tmp);                }                tmp.add(msg);                total_bytes+=len;            }            if(!timer_running) // first message to be bundled                startTimer();        }