/**
   * Only load children as needed, so don't have to load OutlineItems that the user has not even
   * browsed to
   */
  private void ensureChildrenLoaded() {
    if (!loadedChildren) {
      loadedChildren = true;

      int count = item.getSubItemCount();
      for (int i = 0; i < count; i++) {
        OutlineItem child = item.getSubItem(i);
        OutlineItemTreeNode childTreeNode = new OutlineItemTreeNode(pageTree, child);
        add(childTreeNode);
      }
    }
  }