public static void reconstructRestRequest(RestRequest restRequest, DatasetVersionRecord record, String accountName,
      String containerName) {
    RequestPath requestPath = getRequestPath(restRequest);
    RequestPath newRequestPath = reconstructRequestPath(record, requestPath, accountName, containerName);
    // Replace RequestPath in the RestRequest and call DeleteBlobHandler.handle.
    restRequest.setArg(InternalKeys.REQUEST_PATH, newRequestPath);
    restRequest.setArg(Headers.DATASET_VERSION_QUERY_ENABLED, "true");
    if (restRequest.getArgs().get(InternalKeys.TARGET_ACCOUNT_KEY) != null) {
      restRequest.removeArg(InternalKeys.TARGET_ACCOUNT_KEY);
    }
    if (restRequest.getArgs().get(InternalKeys.TARGET_CONTAINER_KEY) != null) {
      restRequest.removeArg(InternalKeys.TARGET_CONTAINER_KEY);
    }
    restRequest.setArg(Headers.DATASET_VERSION_QUERY_ENABLED, "true");
  }
Refresh the OperationOrBlobId in request path with the specific latest version info.
@param restRequest the {@link RestRequest}
@param datasetVersionRecord the {@link DatasetVersionRecord} which include the version info.
@throws RestServiceException
ambry-frontend/src/main/java/com/github/ambry/frontend/FrontendUtils.java