<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def dispatch_request(self, *args, **kwargs):
 """Dispatch current request. Dispatch the current request using :class:`flask.views.MethodView` `dispatch_request()` then, if the result is not already a :py:class:`flask.Response`, search for the serializing function which matches the best the current request's Accept header and use it to build the :py:class:`flask.Response`. :rtype: :class:`flask.Response` :raises werkzeug.exceptions.NotAcceptable: If no media type matches current Accept header. :returns: The response returned by the request handler or created by the serializing function. """

        result = super(ContentNegotiatedMethodView, self).dispatch_request(
            *args, **kwargs
        )

        if isinstance(result, Response):
            return result
        elif isinstance(result, (list, tuple)):
            return self.make_response(*result)
        else:
            return self.make_response(result)