private static void AddNodes(int depth, int childCount, TreeNode parent)
        {
            if (depth == 0) return;

            for (int i = 0; i < childCount; i++)
            {
                TreeNode childNode = new TreeNode(parent.Name + '_' + i.ToString());
                parent.Add(childNode);
                AddNodes(depth - 1, GetRandomChildCount(), childNode);
            }
        }
 public static ITreeNode CreateTree()
 {
     TreeNode root = new TreeNode("root");
     AddNodes(5, GetRandomChildCount(), root);
     return root;
 }