code: 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)
docs: Add a new son manipulator to this database.
  
          **DEPRECATED** - `add_son_manipulator` is deprecated.
  
          .. versionchanged:: 3.0
            Deprecated add_son_manipulator.