void AddWebReferenceToProjectBrowser(AbstractProjectBrowserTreeNode node, WebReference webReference)
        {
            TreeNode webReferencesNode = null;

            if (node is ProjectNode)
            {
                webReferencesNode = AddWebReferenceToProjectNode((ProjectNode)node, webReference);
            }
            else if (node is WebReferencesFolderNode)
            {
                webReferencesNode = node;
                WebReferenceNodeBuilder.AddWebReference((WebReferencesFolderNode)webReferencesNode, webReference);
            }
            else if (node is ReferenceFolder && node.Parent != null && node.Parent is ProjectNode)
            {
                webReferencesNode = AddWebReferenceToProjectNode((ProjectNode)node.Parent, webReference);
            }
            else
            {
                LoggingService.Warn("AddWebReferenceToProjectBrowser: Selected node type is not handled.");
                AddWebReferenceToProjectBrowser(node.Parent as AbstractProjectBrowserTreeNode, webReference);
            }

            if (webReferencesNode != null)
            {
                ProjectBrowserPad.Instance.ProjectBrowserControl.TreeView.Sort();
                webReferencesNode.Expand();
                webReferencesNode.EnsureVisible();
            }
        }
        TreeNode AddWebReferenceToProjectNode(ProjectNode node, WebReference webReference)
        {
            TreeNode webReferencesNode = WebReferenceNodeBuilder.AddWebReferencesFolderNode(node, webReference);

            if (webReferencesNode == null)
            {
                webReferencesNode = GetWebReferencesFolderNode((ProjectNode)node);
                if (webReferencesNode != null)
                {
                    WebReferenceNodeBuilder.AddWebReference((WebReferencesFolderNode)webReferencesNode, webReference);
                }
            }
            return(webReferencesNode);
        }