System.Windows.Data.StandardCollectionViewGroup.RemoveInSubtree C# (CSharp) Method

RemoveInSubtree() private method

private RemoveInSubtree ( object item ) : bool
item object
return bool
		internal bool RemoveInSubtree (object item)
		{
			bool removed = false;
			if (IsBottomLevel) {
				removed |= RemoveItem (item);
			} else {
				foreach (StandardCollectionViewGroup group in Items) {
					if (group.RemoveInSubtree (item)) {
						removed = true;
					}
				}

				for (int i = 0; i < ProtectedItems.Count; i ++) {
					var g = ProtectedItems [i] as StandardCollectionViewGroup;
					if (g != null && g.ProtectedItems.Count == 0) {
						ProtectedItems.Remove (g);
						i --;
					}
				}
			}
			return removed;
		}
	}