def METHOD_NAME(self):
    stack = self.stack
    args = stack.pop()
    func = stack[-1]
    if len(args) and type(args[0]) is type:
        n = args[0].__name__  # noqa
    try:
        stack[-1] = func(*args)
        return
    except Exception as e:
        # If we have a deprecated function,
        # try to replace and try again.
        msg = '_reconstruct: First argument must be a sub-type of ndarray'
        if msg in str(e):
            try:
                cls = args[0]
                stack[-1] = object.__new__(cls)
                return
            except TypeError:
                pass
        # try to re-encode the arguments
        if getattr(self, 'encoding', None) is not None:
            args = tuple(arg.encode(self.encoding)
                         if isinstance(arg, string_types)
                         else arg for arg in args)
            try:
                stack[-1] = func(*args)
                return
            except TypeError:
                pass
        # unknown exception, re-raise
        if getattr(self, 'is_verbose', None):
            print(sys.exc_info())
            print(func, args)
        raise