ARCed.Database.MapEditor.MapEditorMainForm.RecurrsiveSearch C# (CSharp) Method

RecurrsiveSearch() private method

private RecurrsiveSearch ( int id ) : TreeNode
id int
return System.Windows.Forms.TreeNode
        private TreeNode RecurrsiveSearch(int id)
        {
            Hash source = Project.Data.MapInfos;
            var mapInfo = source[id] as MapInfo;
            if (mapInfo != null)
            {
                var node = new TreeNode
                {
                    Name = id.ToString(),
                    ImageIndex = 1,
                    SelectedImageIndex = 1,
                    Text = mapInfo.name,
                    Tag = mapInfo
                };
                foreach (MapInfo info in source.Values)
                {
                    int childId = source.GetKey(info);
                    if (info.parent_id == id && !_skipIds.Contains(childId))
                    {
                        _skipIds.Add(childId);
                        node.Nodes.Add(RecurrsiveSearch(childId));
                    }
                }
                return node;
            }
            return null;
        }