size=0;
size=m.size();
    void handleXmitReq(Address dest, long first_seqno, long last_seqno) {        Message m, tmp;        LinkedList list;        long size=0, marker=first_seqno;        if(Trace.debug)            Trace.debug("NAKACK.handleXmitReq()", "received xmit request for " +                                                  dest + " [" + first_seqno + " - " + last_seqno + "]");        if(first_seqno > last_seqno) {            Trace.error("NAKACK.handleXmitReq()", "first_seqno (" +                                                  first_seqno + ") > last_seqno (" + last_seqno + "): not able to retransmit");            return;        }        list=new LinkedList();        for(long i=first_seqno; i <= last_seqno; i++) {            m=(Message)sent_msgs.get(new Long(i));            if(m == null) {                Trace.error("NAKACK.handleXmitReq()", "(requester=" + dest + ") message with " +                                                      "seqno=" + i + " not found in sent_msgs ! sent_msgs=" + printSentMsgs());                continue;            }            size+=m.size();            if(size >= max_xmit_size) {                // size has reached max_xmit_size. go ahead and send message (excluding the current message)                if(Trace.trace)                    Trace.debug("NAKACK.handleXmitReq()", "xmitting msgs [" + marker + "-" + (i - 1) + "] to " + dest);                sendXmitRsp(dest, (LinkedList)list.clone(), marker, i - 1);                marker=i;                list.clear();                size=0;            }            if(Trace.copy)                tmp=m.copy();            else                tmp=m;            tmp.setDest(dest);            tmp.setSrc(local_addr);            list.add(tmp);        }        if(list.size() > 0) {            if(Trace.trace)                Trace.debug("NAKACK.handleXmitReq()", "xmitting msgs [" + marker + "-" + last_seqno + "] to " + dest);            sendXmitRsp(dest, (LinkedList)list.clone(), marker, last_seqno);        }    }