public static void validateAndFixRelationships ( final Topic topic ) { /* remove relationships to this topic in the parent collection */ final ArrayList < TopicToTopic > removeList = new ArrayList < TopicToTopic > ( ) ; for ( final TopicToTopic topicToTopic : topic . getParentTopicToTopics ( ) ) if ( topicToTopic . getRelatedTopic ( ) . getTopicId ( ) . equals ( topic . getTopicId ( ) ) ) removeList . add ( topicToTopic ) ; for ( final TopicToTopic topicToTopic : removeList ) topic . getParentTopicToTopics ( ) . remove ( topicToTopic ) ; /* remove relationships to this topic in the child collection */ final ArrayList < TopicToTopic > removeChildList = new ArrayList < TopicToTopic > ( ) ; for ( final TopicToTopic topicToTopic : topic . getChildTopicToTopics ( ) ) if ( topicToTopic . getMainTopic ( ) . getTopicId ( ) . equals ( topic . getTopicId ( ) ) ) removeChildList . add ( topicToTopic ) ; for ( final TopicToTopic topicToTopic : removeChildList ) topic . getChildTopicToTopics ( ) . remove ( topicToTopic ) ; }
Validate and Fix a topics relationships to ensure that the topics related topics are still matched by the Related Topics themselves .