private void notifyParent() {
        if (serviceAddress != null) {
            net.freeServiceAddress(this);
        }
        tryIgnoreResult();
        if (parent != null) {
            parent.notifyMerge();
            return;
        }
        if (shouldRetry && resender.scheduleRetry(this)) {
            return;
        }
        notifySender();
    }
This method marks this node as ready for merge. If it has a parent routing node, its pending member is
decremented. If this causes the parent's pending count to reach zero, its {@link #notifyMerge()} method is
invoked. A special flag is used to make sure that failed resending avoids notifying parents of previously
resolved branches of the tree.
messagebus/src/main/java/com/yahoo/messagebus/routing/RoutingNode.java