CheckedTreeNode (TemplateImpl template) { TemplateGroup newGroup = getTemplateGroup(template.getGroupName()); if (newGroup == null) { newGroup = new TemplateGroup(template.getGroupName()); insertNewGroup(newGroup); } newGroup.addElement(template); CheckedTreeNode node = new CheckedTreeNode(template); node.setChecked(!template.isDeactivated()); for (DefaultMutableTreeNode child = (DefaultMutableTreeNode)myTreeRoot.getFirstChild(); child != null; child = (DefaultMutableTreeNode)myTreeRoot.getChildAfter(child)) { if (((TemplateGroup)child.getUserObject()).getName().equals(template.getGroupName())) { int index = getIndexToInsert (child, template.getKey()); child.insert(node, index); ((DefaultTreeModel)myTree.getModel()).nodesWereInserted(child, new int[]{index}); setSelectedNode(node); } } return node; }