}
private Response returnNotImplementedResponse(final MessageReference messageReference) {
// RFC 2616, 5.1.1: "An origin server SHOULD return the status code [...]
// 501 (Not Implemented) if the method is unrecognized [...] by the origin server."
ODataContextImpl context = new ODataContextImpl(request, serviceFactory);
context.setRequest(request);
context.setAcceptableLanguages(request.getAcceptableLanguages());
context.setPathInfo(request.getPathInfo());
context.setServiceFactory(serviceFactory);
context.setParameter(ODataContext.HTTP_SERVLET_REQUEST_OBJECT, httpRequest);
ODataExceptionWrapper exceptionWrapper =
new ODataExceptionWrapper(context, request.getQueryParameters(), request.getAcceptHeaders());
ODataResponse response =
exceptionWrapper.wrapInExceptionResponse(new ODataNotImplementedException(messageReference));
return RestUtil.convertResponse(response);