private static void AddToRootOrParent <T>(Stack <TreeItem <T> > stack, List <TreeItem <T> > roots, TreeItem <T> treeItem) { if (stack.Any()) { stack.Peek().AddChild(treeItem); } else { roots.Add(treeItem); } }