bool Satisfies(Node node, T root) { if (node is TagName) { return(_ops.TagName(root) == ((TagName)node).Tag); } else if (node is Attrib) { var attrib = ((Attrib)node); return(Satisfies(attrib.Element, root) && _ops.SatisfiesAttrib(root, attrib.Op, attrib.Prop, attrib.Parm)); } return(false); }