public boolean destroy() {
        if (!destroyed.getAndSet(true)) {
            synchronized (this) {
                for (Queue<Message> queue : seqMap.values()) {
                    if (queue != null) {
                        for (Message msg : queue) {
                            msg.discard();
                        }
                    }
                }
                seqMap.clear();
            }
            return true;
        }
        return false;
    }
Sets the destroyed flag to true. The very first time this method is called, it cleans up all its dependencies.
Even if you retain a reference to this object, all of its content is allowed to be garbage collected.

@return True if content existed and was destroyed.
messagebus/src/main/java/com/yahoo/messagebus/Sequencer.java