private void checkForInternalRegion(Region<?, ?> r) {
    if (r == null) {
      return;
    }
    InternalRegion ir = (InternalRegion) r;
    if (ir.isInternalRegion()
        && !r.getName().equals(DynamicRegionFactory.DYNAMIC_REGION_LIST_NAME)
        && !r.getName().equals(ClientHealthMonitoringRegion.ADMIN_REGION_NAME)) {
      throw new NotAuthorizedException("The region " + r.getName()
          + " is an internal region that a client is never allowed to access");
    }
  }
This class delegates all methods to the InternalCache instance
it wraps. Any regions returned will be checked and if they are
internal an exception is thrown if they are.

<p>
Note: an instance of this class should be used by servers that
process requests from clients that contains region names to prevent
the client from directly accessing internal regions.
geode-core/src/main/java/org/apache/geode/internal/cache/InternalCacheForClientAccess.java