UnityEditor.TreeViewTest.LazyTestDataSource.AddVisibleChildrenRecursive C# (CSharp) Method

AddVisibleChildrenRecursive() private method

private AddVisibleChildrenRecursive ( TreeViewTest source, TreeViewItem dest ) : void
source TreeViewTest
dest TreeViewItem
return void
            private void AddVisibleChildrenRecursive(TreeViewTest.BackendData.Foo source, TreeViewItem dest)
            {
                if (this.IsExpanded(source.id))
                {
                    if ((source.children != null) && (source.children.Count > 0))
                    {
                        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.AddVisibleChildrenRecursive(foo, dest.children[i]);
                        }
                    }
                }
                else if (source.hasChildren)
                {
                    dest.children = new List<TreeViewItem> { new TreeViewItem(-1, -1, null, string.Empty) };
                }
            }