original_docstring: 
          Returns all subclasses of this class, including subclasses of subclasses. 
          :param all_subclasses: Include all subclasses (e.g., including ``ExpandTransformation``).
          
docstring: Returns all subclasses of this class, including subclasses of subclasses.
docstring_tokens: Returns all subclasses of this class including subclasses of subclasses .
code: def subclasses_recursive(cls) -> Set[Type['PatternTransformation']]:
          """
          Returns all subclasses of this class, including subclasses of subclasses. 
          :param all_subclasses: Include all subclasses (e.g., including ``ExpandTransformation``).
          """
          subclasses = set(cls.__subclasses__())
          subsubclasses = set()
          for sc in subclasses:
              subsubclasses.update(sc.subclasses_recursive())
  
          # Ignore abstract classes
          result = subclasses | subsubclasses
          result = set(sc for sc in result if not getattr(sc, '__abstractmethods__', False))
  
          return result
code_tokens: def subclasses_recursive ( cls ) -> Set [ Type [ 'PatternTransformation' ] ] : subclasses = set ( cls . __subclasses__ ( ) ) subsubclasses = set ( ) for sc in subclasses : subsubclasses . update ( sc . subclasses_recursive ( ) ) result = subclasses | subsubclasses result = set ( sc for sc in result if not getattr ( sc , '__abstractmethods__' , False ) ) return result
short_docstring: Returns all subclasses of this class, including subclasses of subclasses.
short_docstring_tokens: Returns all subclasses of this class including subclasses of subclasses .
comment: """
          Returns all subclasses of this class, including subclasses of subclasses. 
          :param all_subclasses: Include all subclasses (e.g., including ``ExpandTransformation``).
          """$SEP$# Ignore abstract classes