if(log.isInfoEnabled()) log.info("window_size (" + window_size + ") was exceeded, " +
if(log.isTraceEnabled()) log.trace("window_size (" + window_size + ") was exceeded, " +
    public void add(long seqno, Message msg) {        Long tmp = new Long(seqno);        synchronized (msgs) {            if (msgs.containsKey(tmp))                return;            //System.out.println("### add: " + seqno + "(msg size=" + msgs.size() +            //	       ", queue size=" + msg_queue.size() +            //	       "). tstamp=" + System.currentTimeMillis() + ")"); // <remove>            if (!use_sliding_window) {                addMessage(seqno, tmp, msg);            } else {  // we use a sliding window                if (queueing)                    addToQueue(seqno, msg);                else {                    if (msgs.size() + 1 > window_size) {                        queueing = true;                        addToQueue(seqno, msg);                            if(log.isInfoEnabled()) log.info("window_size (" + window_size + ") was exceeded, " +                                    "starting to queue messages until window size falls under " + min_threshold);                    } else {                        addMessage(seqno, tmp, msg);                    }                }            }        }    }