code: private void initTopicTree(HelpTopicNode htnParent, List<?> children) {
          if (children != null) {
              for (Object node : children) {
                  TopicTreeNode ttnChild = (TopicTreeNode) node;
                  Topic topic = ttnChild.getTopic();
                  Target target = topic.getTarget();
                  String source = view.getBook().getBookTitle();
                  URL url = null;
                  
                  try {
                      url = target == null ? null : target.getURL();
                  } catch (MalformedURLException e) {}
                  
                  HelpTopic ht = new HelpTopic(url, topic.getLabel(), source);
                  HelpTopicNode htnChild = new HelpTopicNode(ht);
                  htnParent.addChild(htnChild);
                  initTopicTree(htnChild, ttnChild);
              }
          }
      }
docs: Initialize the topic tree. Converts the Oracle help TopicTreeNode-based tree to a
  HelpTopicNode-based tree.
  
  @param htnParent Current help topic node.
  @param children List of child nodes.