private Callback<Void> securityPostProcessRequestCallback() {
      return buildCallback(frontendMetrics.copyDatasetsSecurityPostProcessRequestMetrics, securityCheckResult -> {
        LOGGER.debug("Received request for copy a dataset version with arguments: {}", restRequest.getArgs());
        frontendMetrics.copyDatasetVersionRate.mark();
        copyDatasetVersions();
        restResponseChannel.setHeader(RestUtils.Headers.DATE, new GregorianCalendar().getTime());
        restResponseChannel.setHeader(RestUtils.Headers.CONTENT_LENGTH, 0);
        finalCallback.onCompletion(null, null);
      }, uri, LOGGER, finalCallback);
    }
After {@link SecurityService#processRequest} finishes, call {@link SecurityService#postProcessRequest} to perform
request time security checks that rely on the request being fully parsed and any additional arguments set.
@return a {@link Callback} to be used with {@link SecurityService#processRequest}.
ambry-frontend/src/main/java/com/github/ambry/frontend/CopyDatasetVersionHandler.java