'Add a new son manipulator to this database.
**DEPRECATED** - `add_son_manipulator` is deprecated.
.. versionchanged:: 3.0
Deprecated add_son_manipulator.'

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)
