private void addGroupToNode(DefaultMutableTreeNode node, ArmylistWargearGroup group) {
    DefaultMutableTreeNode newNode = new DefaultMutableTreeNode();
    newNode.setUserObject(new WargearTreeUserObjectContainer(group, newNode, node));
    node.add(newNode);

    Iterator subGroups = group.getSubGroups().iterator();
    while (subGroups.hasNext()) {
      ArmylistWargearGroup subGroup = (ArmylistWargearGroup) subGroups.next();
      this.addGroupToNode(newNode, subGroup);
    }

    Iterator items = group.getItems().iterator();
    while (items.hasNext()) {
      DefaultMutableTreeNode temp = new DefaultMutableTreeNode();
      ArmylistWargearItem item = (ArmylistWargearItem) items.next();
      WargearTreeUserObjectContainer container =
          new WargearTreeUserObjectContainer(item, temp, newNode);
      container.setItemGroup(group);
      temp.setUserObject(container);
      newNode.add(temp);
    }
  }