def METHOD_NAME(self, value, max_depth=6, _depth=0, **kwargs):
    """
    Given ``value``, recurse (using the parent serializer) to handle
    coercing of newly defined values.
    """
    string_max_length = kwargs.get('string_max_length', None)
    _depth += 1
    if _depth >= max_depth:
        try:
            value = text_type(repr(value))[:string_max_length]
        except Exception as e:
            import traceback
            traceback.print_exc()
            self.manager.logger.exception(e)
            return text_type(type(value))
    return self.manager.transform(value, max_depth=max_depth,
                                  _depth=_depth, **kwargs)