public virtual List <LNNode> GetNodes(Type clazz) { if (content == null) { return(null); } if (clazz == null) { return(null); } LNNode[] nodes = content.childs; int size = nodes.Length; List <LNNode> l = new List <LNNode>(size); for (int i = size; i > 0; i--) { LNNode node = nodes[i - 1]; Type cls = node.GetType(); if (clazz == null || clazz == cls || clazz.IsInstanceOfType(node) || clazz.Equals(cls)) { l.Add(node); } } return(l); }