/// <summary>
        /// </summary>
        /// <param name="SubNode"></param>
        /// <returns></returns>
        public static BsonDocument ConvertTreeNodeTozTreeBsonDoc(TreeNode SubNode)
        {
            var SingleNode = new BsonDocument();

            SingleNode.Add("name", SubNode.Text + GetTagText(SubNode));
            if (SubNode.Nodes.Count == 0)
            {
                SingleNode.Add("icon", "MainTreeImage" + String.Format("{0:00}", SubNode.ImageIndex) + ".png");
            }
            else
            {
                var ChildrenList = new BsonArray();
                foreach (TreeNode item in SubNode.Nodes)
                {
                    ChildrenList.Add(ConvertTreeNodeTozTreeBsonDoc(item));
                }
                SingleNode.Add("children", ChildrenList);
                SingleNode.Add("icon", "MainTreeImage" + String.Format("{0:00}", SubNode.ImageIndex) + ".png");
            }
            if (SubNode.IsExpanded)
            {
                SingleNode.Add("open", "true");
            }
            if (SubNode.Tag != null)
            {
                SingleNode.Add("click",
                               "ShowData('" + SystemManager.GetTagType(SubNode.Tag.ToString()) + "','" +
                               SystemManager.GetTagData(SubNode.Tag.ToString()) + "')");
            }
            return(SingleNode);
        }