private void sendNextInSequence(long seqId) {
        Message msg = null;
        synchronized (this) {
            Queue<Message> queue = seqMap.get(seqId);
            if (queue == null || queue.isEmpty()) {
                seqMap.remove(seqId);
            } else {
                msg = queue.remove();
            }
        }
        if (msg != null) {
            Boolean alreadySending = isSending.get();
            if (alreadySending && (msn != null)) {
                // Dispatch in another thread to break possibly very long recursion.
                msn.enqueue(new SequencedSendTask(msg));
            } else {
                isSending.set(Boolean.TRUE);
                sequencedSend(msg);
            }
            isSending.set(Boolean.FALSE);
        }
    }
Lookup the sequencing id of an incoming reply to pop the front of the corresponding queue, and then send the next
message in line, if any.

@param reply The reply received.
messagebus/src/main/java/com/yahoo/messagebus/Sequencer.java