@Override
    public boolean destroy() {
        boolean destroyed = super.destroy();
        if (destroyed)
            configAgent.shutdown();
        return destroyed;
    }
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/RPCMessageBus.java