code: public static void collectFixedUrlInformation(final Collection<SpecNode> specNodes, final Collection<SpecNode> nodesWithoutFixedUrls,
              final Set<String> existingFixedUrls) {
          for (final SpecNode specNode : specNodes) {
              if (isNullOrEmpty(specNode.getFixedUrl())) {
                  if (specNode instanceof CommonContent) {
                      // Ignore common content as it can't have a fixed url
                      continue;
                  } else if (specNode instanceof Level) {
                      final Level level = (Level) specNode;
  
                      // Ignore initial content and base levels
                      if (level.getLevelType() != LevelType.INITIAL_CONTENT && level.getLevelType() != LevelType.BASE) {
                          nodesWithoutFixedUrls.add(specNode);
                      }
                  } else if (specNode instanceof ITopicNode) {
                      final ITopicNode topicNode = ((ITopicNode) specNode);
  
                      // Ignore info topics
                      if (topicNode.getTopicType() != TopicType.INFO && topicNode.getTopicType() != TopicType.INITIAL_CONTENT) {
                          nodesWithoutFixedUrls.add(specNode);
                      }
                  } else {
                      nodesWithoutFixedUrls.add(specNode);
                  }
              } else {
                  existingFixedUrls.add(specNode.getFixedUrl());
              }
          }
      }
docs: Collect the fixed url information from a list of spec nodes.
  
  @param specNodes             The spec nodes to collect the information from.
  @param nodesWithoutFixedUrls A modifiable collection to add nodes that have no fixed url information.
  @param existingFixedUrls     A modifiable set to add existing fixed urls to.