public virtual int RemoveNode(Type clazz) { if (clazz == null) { return(-1); } int count = 0; for (int i = _childCount; i > 0; i--) { int index = i - 1; LNNode node = this.childs[index]; Type cls = node.GetType(); if (clazz == null || clazz == cls || clazz.IsInstanceOfType(node) || clazz.Equals(cls)) { this.RemoveNode(index); count++; } } return(count); }