OleViewDotNet.COMRegistryViewer.LoadImplementedCategories C# (CSharp) Method

LoadImplementedCategories() private method

private LoadImplementedCategories ( ) : void
return void
        private void LoadImplementedCategories()
        {
            int i = 0;
            Dictionary<Guid, List<COMCLSIDEntry>> dict = m_reg.ImplementedCategories;
            SortedDictionary<string, TreeNode> sortedNodes = new SortedDictionary<string, TreeNode>();
            
            foreach (KeyValuePair<Guid, List<COMCLSIDEntry>> pair in dict)
            {               
                TreeNode currNode = new TreeNode(COMUtilities.GetCategoryName(pair.Key));
                currNode.Tag = pair.Key;
                currNode.ToolTipText = String.Format("CATID: {0}", pair.Key.ToString("B"));
                sortedNodes.Add(currNode.Text, currNode);

                TreeNode[] clsidNodes = new TreeNode[pair.Value.Count];
                COMCLSIDEntry[] entries = pair.Value.ToArray();
                Array.Sort(entries);
                i = 0;
                foreach (COMCLSIDEntry ent in entries)
                {
                    clsidNodes[i] = CreateClsidNode(ent);                    
                    i++;
                }
                currNode.Nodes.AddRange(clsidNodes);
            }


            TreeNode[] catNodes = new TreeNode[sortedNodes.Count];
            i = 0;
            foreach (KeyValuePair<string, TreeNode> pair in sortedNodes)
            {
                catNodes[i++] = pair.Value;
            }            

            treeComRegistry.Nodes.AddRange(catNodes);
            Text = "Implemented Categories";            
        }