private Callback<Void> securityPostProcessRequestCallback(BlobId blobId) {
      return buildCallback(metrics.undeleteBlobSecurityPostProcessRequestMetrics, result -> {
        String serviceId = RestUtils.getHeader(restRequest.getArgs(), RestUtils.Headers.SERVICE_ID, true);
        router.undeleteBlob(blobId.getID(), serviceId, routerCallback(),
            QuotaUtils.buildQuotaChargeCallback(restRequest, quotaManager, false));
      }, restRequest.getUri(), LOGGER, finalCallback);
    }
After {@link SecurityService#postProcessRequest} finishes, call {@link Router#undeleteBlob} to undelete
the blob in the storage layer.
@param blobId the {@link BlobId} to undelete
@return a {@link Callback} to be used with {@link SecurityService#postProcessRequest}.
ambry-frontend/src/main/java/com/github/ambry/frontend/UndeleteHandler.java