private Callback<Void> securityProcessRequestCallback() {
      return buildCallback(metrics.getBlobSecurityProcessRequestMetrics, result -> {
        String blobIdStr;
        if (RestUtils.isDatasetVersionQueryEnabled(restRequest.getArgs())) {
          try {
            metrics.getDatasetVersionRate.mark();
            accountAndContainerInjector.injectDatasetForNamedBlob(restRequest);
            blobIdStr = getDatasetVersion(restRequest);
          } catch (RestServiceException e) {
            metrics.getDatasetVersionError.inc();
            throw e;
          }
        } else {
          blobIdStr = requestPath.getOperationOrBlobId(false);
        }
        idConverter.convert(restRequest, blobIdStr, idConverterCallback());
      }, restRequest.getUri(), LOGGER, finalCallback);
    }
After {@link SecurityService#processRequest} finishes, call {@link IdConverter#convert} to convert the incoming
ID if required.
@return a {@link Callback} to be used with {@link SecurityService#processRequest}.
ambry-frontend/src/main/java/com/github/ambry/frontend/GetBlobHandler.java