def get_compatible_generator_action(self, filename):
        """
        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.
        """
        # find first compatible generator action
        for action in self.__generator_actions:
            if action.act_on_file(filename):
                return action

        return None