public static void validatePRID(InternalDistributedMember sender, int prId, String regionId) {
    try {
      PartitionedRegion pr = null;
      synchronized (prIdToPR) {
        // first do a quick probe
        pr = (PartitionedRegion) prIdToPR.getRegion(prId);
      }
      if (pr != null && !pr.isLocallyDestroyed && pr.getRegionIdentifier().equals(regionId)) {
        return;
      }
    } catch (RegionDestroyedException ignore) {
      // ignore and do full pass over prid map
    } catch (PartitionedRegionException ignore) {
      // ditto
    } catch (PRLocallyDestroyedException ignore) {
      // ignore and do full check
    }
    synchronized (prIdToPR) {
      for (Object o : prIdToPR.values()) {
        if (o instanceof String) {
          continue;
        }
        PartitionedRegion pr = (PartitionedRegion) o;
        if (pr.getPRId() == prId) {
          if (!pr.getRegionIdentifier().equals(regionId)) {
            logger.warn("{} is using PRID {} for regionId {} but this process maps that PRID to {}",
                sender, prId, regionId, pr.getRegionIdentifier());
          }
        } else if (pr.getRegionIdentifier().equals(regionId)) {
          logger.warn("{} is using PRID {} for {} but this process is using PRID {}",
              sender, prId, pr.getRegionIdentifier(), pr.getPRId());
        }
      }
    }
  }
Verify that the given prId is correct for the given region name in this vm

@param sender the member requesting validation
@param prId the ID being used for the pr by the sender
@param regionId the regionIdentifier used for prId by the sender
geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegion.java