code: def get_compatible_generator_action(self, filename):
          
          # find first compatible generator action
          for action in self.__generator_actions:
              if action.act_on_file(filename):
                  return action
  
          return None
docs: Return the **first** compatible :class:`GeneratorAction` for a given filename or ``None`` if none is found.
  
          Args:
              filename (str): The filename of the template to process.