/// <summary>
        /// Adds a HistoryDiskInfo.
        /// </summary>
        /// <param name="siteUri"> The site uri.</param>
        /// <param name="siteData"> The ResponseBuffer data.</param>
        public void AddHistoryNodeDisk(Uri siteUri, ResponseBuffer siteData)
        {
            this.SuspendLayout();

            //string folderName = string.Empty;
            string uriAndPort = string.Empty;

            if ( siteUri.Port == 80 )
            {
                //folderName = siteUri.Authority + siteUri.Port;
                uriAndPort = siteUri.Authority + ":" + siteUri.Port;
            }
            else
            {
                //folderName = siteUri.Authority.Replace(":","");
                uriAndPort = siteUri.Authority;
            }
            //			string dir = recentSitesDir + @"\" + folderName;
            //
            //			if ( !Directory.Exists(dir) )
            //			{
            //				Directory.CreateDirectory(dir);
            //			}

            // search index data for site root existence
            HistoryDiskInfo diskInfo = (HistoryDiskInfo)sitesIndex[uriAndPort];
            int index = sitesIndex.IndexOfKey(uriAndPort);

            // add new to disk
            if ( diskInfo != null )
            {
                HistoryTreeNode node = (HistoryTreeNode)this.Nodes[index];

                // add node to tree
                HistoryTreeNode tn = new HistoryTreeNode(siteUri.AbsolutePath,siteUri,null);
                tn.ImageIndex = this.IconNodeIndex;
                tn.SelectedImageIndex = this.IconNodeIndex;

                //int i = node.Nodes.IndexOf(tn);
                HistoryDiskInfo hdi = new HistoryDiskInfo();
                hdi.Url = uriAndPort + siteUri.AbsolutePath;

                if ( !diskInfo.ContainsNodeKey(hdi.Url) )
                {
                    node.Nodes.Add(tn);
                    diskInfo.AddHistoryDiskInfo(hdi.Url, hdi);
                }
            }
            else
            {
                // add as root node
                HistoryTreeNode tn = new HistoryTreeNode(uriAndPort,siteUri,null);
                tn.ImageIndex = this.IconSiteIndex;
                tn.SelectedImageIndex = this.IconSiteIndex;

                // add file to disk
                //string filePath = UpdateRecentSite(dir,siteUri.AbsolutePath,siteData);

                // add node to tree
                HistoryTreeNode newNode = new HistoryTreeNode(siteUri.AbsolutePath,siteUri,null);
                newNode.ImageIndex = this.IconNodeIndex;
                newNode.SelectedImageIndex = this.IconNodeIndex;

                tn.Nodes.Add(newNode);

                int i = tn.Nodes.IndexOf(newNode);
                HistoryDiskInfo child = new HistoryDiskInfo();
                child.Url = uriAndPort + siteUri.AbsolutePath;

                // add reference to Index data
                //sitesIndex.Add(uriAndPort + siteUri.AbsolutePath,hdi);

                this.Nodes.Add(tn);

                // add root reference to Index data
                HistoryDiskInfo parent = new HistoryDiskInfo();
                parent.Url = uriAndPort;
                parent.Type = HistoryDiskInfo.NodeType.Parent;
                parent.AddHistoryDiskInfo(child.Url, child);
                sitesIndex.Add(uriAndPort, parent);
            }

            UpdateIndexData();
            this.ResumeLayout();
        }
 /// <summary>
 /// Creates a new HistoryDiskInfo.
 /// </summary>
 /// <param name="path"> The file path of the history file.</param>
 /// <param name="index"> The index.</param>
 //        public HistoryDiskInfo(string path, int index)
 //        {
 //            this.Path = path;
 //            this.Index = index;
 //        }
 public void AddHistoryDiskInfo(string url, HistoryDiskInfo diskInfo)
 {
     list.Add(url, diskInfo);
 }