docs: protected boolean doesRelationshipMatch(final TargetRelationship relationship, final CSRelatedNodeWrapper relatedNode) {
          // If the relationship node is a node that can't be related to (ie a comment or meta data), than the relationship cannot match
          if (relatedNode.getNodeType().equals(CommonConstants.CS_NODE_COMMENT) || relatedNode.getNodeType().equals(
                  CommonConstants.CS_NODE_META_DATA)) {
              return false;
          }
  
          // Check if the type matches first
          if (!RelationshipType.getRelationshipTypeId(relationship.getType()).equals(relatedNode.getRelationshipType())) return false;
  
          // If the unique id is not from the parser, in which case it will start with a number than use the unique id to compare
          if (relationship.getSecondaryRelationship().getUniqueId() != null && relationship.getSecondaryRelationship().getUniqueId().matches(
                  "^\\d.*")) {
              return relationship.getSecondaryRelationship().getUniqueId().equals(Integer.toString(relatedNode.getId()));
          } else if (relationship.getSecondaryRelationship() instanceof Level) {
              return ((Level) relationship.getSecondaryRelationship()).getTargetId().equals(relatedNode.getTargetId());
          } else if (relationship.getSecondaryRelationship() instanceof SpecTopic) {
              return ((SpecTopic) relationship.getSecondaryRelationship()).getTargetId().equals(relatedNode.getTargetId());
          } else {
              return false;
          }
      }