public CollectionNode getParent() {
        if ( parentIdentifier == null && parent==null) {
            return null;
        }
        if ( parent == null )
        {
            PubSubService service = getService();
            if ( service.getRootCollectionNode() != null && service.getRootCollectionNode().getUniqueIdentifier().equals(parentIdentifier) )
            {
                parent = service.getRootCollectionNode();
            }
            else
            {
                parent = (CollectionNode) service.getNode(parentIdentifier.getNodeId());
            }
        }
        getLogger().trace("Parent: {}", parent);
        return parent;
    }
Returns the collection node that is containing this node. The only node that
does not have a parent node is the root collection node.

@return the collection node that is containing this node.
xmppserver/src/main/java/org/jivesoftware/openfire/pubsub/Node.java