UriInfoImpl uriInfo = null;
Exception exception = null;
ODataResponse odataResponse;
final int timingHandle = context.startRuntimeMeasurement("ODataRequestHandler", "handle");
try {
UriParser uriParser = new UriParserImpl(service.getEntityDataModel());
Dispatcher dispatcher = new Dispatcher(serviceFactory, service);
final String serverDataServiceVersion = getServerDataServiceVersion();
final String requestDataServiceVersion = context.getRequestHeader(ODataHttpHeaders.DATASERVICEVERSION);
validateDataServiceVersion(serverDataServiceVersion, requestDataServiceVersion);
final List<PathSegment> pathSegments = context.getPathInfo().getODataSegments();
int timingHandle2 = context.startRuntimeMeasurement("UriParserImpl", "parse");
uriInfo = (UriInfoImpl) uriParser.parse(pathSegments, request.getQueryParameters());
context.stopRuntimeMeasurement(timingHandle2);
final ODataHttpMethod method = request.getMethod();
validateMethodAndUri(method, uriInfo);