def METHOD_NAME(  # type: ignore  # we have added the resource_object on top of parse
        self,
        resource_object: MethodView,
        argmap: ArgMap,
        req: Optional[Request] = None,
        *,
        location: Optional[str] = None,
        unknown: Optional[str] = _UNKNOWN_DEFAULT_PARAM,  # pylint: disable=unused-argument
        validate: Optional[ValidateArg] = None,
        error_status_code: Optional[int] = None,
        error_headers: Optional[Mapping[str, str]] = None,
) -> dict[str, Any]:
    """Main request parsing method.
    Different from core parser is that we also get the resource object and
    pass it to the schema
    """
    req = req if req is not None else self.get_default_request()  # type: ignore
    location = location or self.location
    if req is None:
        raise ValueError('Must pass req object')
    data = None
    validators = _ensure_list_of_callables(validate)
    schema = self._get_schema(argmap, resource_object)
    try:
        location_data = self._load_location_data(
            schema=schema, req=req, location=location,
        )
        data = schema.load(location_data)
        self._validate_arguments(data, validators)
    except ma_exceptions.ValidationError as error:
        self._on_validation_error(
            error,
            req,
            schema,
            location,
            error_status_code=error_status_code,
            error_headers=error_headers,
        )
    return data