@Override
  protected void checkForNoAccess() {
    if (requiresReliabilityCheck && isMissingRequiredRoles) {
      if (getMembershipAttributes().getLossAction().isNoAccess()) {
        synchronized (missingRequiredRoles) {
          if (!isMissingRequiredRoles) {
            return;
          }
          Set<Role> roles = Collections.unmodifiableSet(new HashSet<>(missingRequiredRoles));
          throw new RegionAccessException(
              String.format(
                  "Operation is disallowed by LossAction %s because these required roles are missing: %s.",
                  getMembershipAttributes().getLossAction(), roles),
              getFullPath(), roles);
        }
      }
    }
  }
Throws RegionAccessException if required roles are missing and the LossAction is NO_ACCESS

@throws RegionAccessException if required roles are missing and the LossAction is NO_ACCESS
geode-core/src/main/java/org/apache/geode/internal/cache/DistributedRegion.java