private void CreateTree(TreeNode root, Figure figure) { root.Nodes.Add(figure.GetID(), figure.Classname()); if (figure.IsSelected() && !figure.IsGrouped()) { int index = root.Nodes.IndexOfKey(figure.GetID()); treeView1.SelectedNode = root.Nodes[index]; } if (figure is Group) { int index = root.Nodes.IndexOfKey(figure.GetID()); for (int j = 0; j < ((Group)figure).Count(); j++) { CreateTree(root.Nodes[index], ((Group)figure)[j]); } } }