public static void PopulateWithAssettNodes(this TreeNode nu, AssetNode hNode, TreeNode tNode) { tNode.Nodes.Add(hNode.name); if (hNode.children.Count > 0) foreach (AssetNode node in hNode.children) tNode.PopulateWithAssettNodes(node, tNode.Nodes[tNode.Nodes.Count - 1]); else foreach (Asset assett in hNode.assetts) { var nodes = tNode.Nodes[tNode.Nodes.Count - 1].Nodes; nodes.Add(assett.Name + assett.Extension); nodes[nodes.Count - 1].Tag = assett; } }