def _descendants(self, qname: Union[QualName, bool] = None,
                     with_self: bool = False) -> List["InstanceNode"]:
        """XPath - return the list of receiver's descendants."""
        res = ([] if not with_self or (qname and self.qual_name != qname)
               else [self])
        for c in self._children():
            if not qname or c.qual_name == qname:
                res.append(c)
            res += c._descendants(qname)
        return res
def _descendants ( self , qname : Union [ QualName , bool ] = None , with_self : bool = False ) -> List [ "InstanceNode" ] : res = ( [ ] if not with_self or ( qname and self . qual_name != qname ) else [ self ] ) for c in self . _children ( ) : if not qname or c . qual_name == qname : res . append ( c ) res += c . _descendants ( qname ) return res
XPath - return the list of receiver's descendants.