private void AddChildrenRecursive(TreeViewTest.BackendData.Foo source, TreeViewItem dest)
{
if (source.hasChildren)
{
dest.children = new List<TreeViewItem>(source.children.Count);
for (int i = 0; i < source.children.Count; i++)
{
TreeViewTest.BackendData.Foo foo = source.children[i];
dest.children[i] = new TreeViewTest.FooTreeViewItem(foo.id, dest.depth + 1, dest, foo.name, foo);
this.itemCounter++;
this.AddChildrenRecursive(foo, dest.children[i]);
}
}
}