public KeySetOperationContext keySetAuthorize(String regionName, Set keySet,
      KeySetOperationContext keySetContext) throws NotAuthorizedException {

    if (keySetContext == null) {
      keySetContext = new KeySetOperationContext(true);
    } else {
      keySetContext.setPostOperation();
    }
    keySetContext.setKeySet(keySet);
    if (!postAuthzCallback.authorizeOperation(regionName, keySetContext)) {
      String errStr =
          String.format("In post-process: not authorized to perform KEY_SET operation on region %s",
              regionName);
      logger.warning(String.format("%s : %s", id, errStr));
      if (isPrincipalSerializable) {
        throw new NotAuthorizedException(errStr, principal);
      } else {
        throw new NotAuthorizedException(errStr);
      }
    } else {
      if (logger.finestEnabled()) {
        logger.finest(
            id + ": In post-process: authorized to perform KEY_SET operation on region ["
                + regionName + ']');
      }
    }
    return keySetContext;
  }
This class implements post-processing authorization calls for various operations. It provides
methods to invoke authorization callback ({@link AccessControl#authorizeOperation}) to invoke the
post-processing callback that may modify the results. The data being passed for the operation is
encapsulated in a {@link OperationContext} object that can be modified by the post-processing
authorization callbacks.

@since GemFire 5.5
geode-core/src/main/java/org/apache/geode/internal/security/AuthorizeRequestPP.java