def run(
        self, original
    ) -> tuple[libcst.Module | libcst.metadata.MetadataWrapper, libcst.Module]:
        """
        Run the migration set in 'visitor'.

        Method can be overriden for more complex scenarios (e.g. multiple transformers).
        """
        if self.visitor is None:
            raise AttributeError("Migration has not defined a 'visitor' attribute.")

        transformer = self.visitor()
        updated = original.visit(transformer)
        self.update_lint(transformer)

        return original, updated

        Run the migration set in 'visitor'.

        Method can be overriden for more complex scenarios (e.g. multiple transformers).
        
libqtile/scripts/migrations/_base.py