internal void AddRangeInternal(TreeListViewItemCollection collection)
 {
     foreach (TreeListViewItem item in collection)
     {
         Add(item);
     }
 }
 internal void GetCheckedItems(ref TreeListViewItemCollection items)
 {
     if (Checked)
     {
         items.Add(this);
     }
     foreach (TreeListViewItem item in Items)
     {
         item.GetCheckedItems(ref items);
     }
 }
        private TreeListViewItemCollection GetParentsInHierarch()
        {
            TreeListViewItemCollection temp = Parent != null?
                                              Parent.GetParentsInHierarch() : new TreeListViewItemCollection();

            if (Parent != null)
            {
                temp.Add(Parent);
            }
            return(temp);
        }
 /// <summary>
 /// Adds a collection to this collection
 /// </summary>
 /// <param name="collection"></param>
 public void AddRange(TreeListViewItemCollection collection)
 {
     if (TreeListView != null)
     {
         TreeListView.BeginUpdate();
     }
     AddRangeInternal(collection);
     if (TreeListView != null)
     {
         TreeListView.EndUpdate();
     }
 }
        /// <summary>
        /// Remove this item from its associated collection
        /// </summary>
        public new void Remove()
        {
            if (ListView != null)
            {
                if (ListView.InvokeRequired)
                {
                    throw(new Exception("Invoke required"));
                }
            }
            TreeListViewItemCollection collection = this.Container;

            if (collection != null)
            {
                collection.Remove(this);
            }
        }
 /// <summary>
 /// Create a new instance of a TreeListViewItem
 /// </summary>
 public TreeListViewItem()
 {
     _items = new TreeListViewItemCollection(this);
 }