/// <summary>
        /// Remove an item from the collection and the TreeListView
        /// </summary>
        /// <param name="item"></param>
        public virtual void Remove(TreeListViewItem item)
        {
            CTreeListView treelistview = this.TreeListView;

            if (treelistview != null)
            {
                treelistview.BeginUpdate();
            }
            RemoveInternal(item);
            if (treelistview != null)
            {
                treelistview.EndUpdate();
            }
        }
        /// <summary>
        /// Remove an item from the collection and the TreeListView
        /// </summary>
        /// <param name="index"></param>
        public new void RemoveAt(int index)
        {
            CTreeListView treelistview = this.TreeListView;

            if (treelistview != null)
            {
                treelistview.BeginUpdate();
            }
            RemoveAtInternal(index);
            if (treelistview != null)
            {
                treelistview.EndUpdate();
            }
        }
        /// <summary>
        /// Removes each node of the collection
        /// </summary>
        public new void Clear()
        {
            CTreeListView treelistview = this.TreeListView;

            if (treelistview != null)
            {
                treelistview.BeginUpdate();
            }
            ClearInternal();
            if (treelistview != null)
            {
                treelistview.EndUpdate();
            }
        }