code: def __get_by_fullname(self, asset_class, fullname: str):
          
          if asset_class.fullname == fullname:
              return asset_class
  
          if not hasattr(asset_class, "classes"):
              return None
  
          for child in asset_class.classes:
              found = self.__get_by_fullname(child, fullname)
              if found:
                  return found
  
          return None
docs: Recursive function