def METHOD_NAME(
        self,
        argmap: ArgMap,
        req: Optional[Request] = None,
        *,
        location: Optional[str] = None,
        unknown: Optional[str] = _UNKNOWN_DEFAULT_PARAM,  # pylint: disable=unused-argument
        as_kwargs: bool = False,
        validate: Optional[ValidateArg] = None,
        error_status_code: Optional[int] = None,
        error_headers: Optional[Mapping[str, str]] = None,
) -> Callable:
    """Decorator that injects parsed arguments into a view function or method.
    Edited from core parser to include the resource object
    """
    location = location or self.location
    request_obj = req
    # Optimization: If argmap is passed as a dictionary, we only need
    # to generate a Schema once
    if isinstance(argmap, Mapping):
        argmap = Schema.from_dict(argmap)()
    def decorator(func: Callable) -> Callable:
        req_ = request_obj
        @functools.wraps(func)
        def wrapper(*args: Any, **kwargs: Any) -> Callable:
            req_obj = req_
            if not req_obj:
                req_obj = self.get_request_from_view_args(func, args, kwargs)  # pylint: disable=assignment-from-none  # noqa: E501
            # NOTE: At this point, argmap may be a Schema, or a callable
            parsed_args = self.parse(
                args[0],  # This should be the self of the resource object
                argmap,
                req=req_obj,
                location=location,
                validate=validate,
                error_status_code=error_status_code,
                error_headers=error_headers,
            )
            args, kwargs = self._update_args_kwargs(  # type: ignore
                args, kwargs, parsed_args, as_kwargs,  # type: ignore
            )
            return func(*args, **kwargs)
        wrapper.__wrapped__ = func  # type: ignore
        return wrapper
    return decorator