def add_son_manipulator(self, manipulator):
        warnings.warn("add_son_manipulator is deprecated",
                      DeprecationWarning, stacklevel=2)
        base = SONManipulator()
        def method_overwritten(instance, method):
            """Test if this method has been overridden."""
            return (getattr(
                instance, method).__func__ != getattr(base, method).__func__)

        if manipulator.will_copy():
            if method_overwritten(manipulator, "transform_incoming"):
                self.__incoming_copying_manipulators.insert(0, manipulator)
            if method_overwritten(manipulator, "transform_outgoing"):
                self.__outgoing_copying_manipulators.insert(0, manipulator)
        else:
            if method_overwritten(manipulator, "transform_incoming"):
                self.__incoming_manipulators.insert(0, manipulator)
            if method_overwritten(manipulator, "transform_outgoing"):
                self.__outgoing_manipulators.insert(0, manipulator)
:param pack: Name of the pack this action belongs to.
dataset/ETHPy150Open mongodb/mongo-python-driver/pymongo/database.py/Database.add_son_manipulator--crossover with--dataset/ETHPy150Open StackStorm/st2/st2actions/st2actions/runners/python_action_wrapper.py/PythonActionWrapper.__init__