def _handle_request(self, request):
        """Finds the resource to which a request maps and then calls it.
        Instantiates, fills and returns a :class:`webob.Response` object. If
        no resource matches the request, a 404 status is set on the response
        object.

        :param request: Object representing the current request.
        :type request: :class:`webob.Request`
        """
        response = webob.Response(request=request)
        path = request.path_info
        parsed = self._urlmap(path)
        if parsed:
            path_params, resource = parsed
        else:
            path_params, resource = {}, self.NOT_FOUND_RESOURCE
        instance = resource(request=request, response=response,
            path_params=path_params, application=self)
        response = instance()
        if request.method == 'HEAD':
            response.body = ''
        return response