public void handleInterestEvent(InterestRegistrationEvent event) {
    if (logger.isDebugEnabled()) {
      logger.debug("PartitionedRegionDataStore for {} handling {}",
          partitionedRegion.getFullPath(), event);
    }
    synchronized (keysOfInterestLock) {
      boolean isRegister = event.isRegister();
      for (Object key : event.getKeysOfInterest()) {
        // Get the reference counter for this key
        AtomicInteger references = (AtomicInteger) keysOfInterest.get(key);
        int newNumberOfReferences = 0;
        // If this is a registration event, add interest for this key
        if (isRegister) {
          if (logger.isDebugEnabled()) {
            logger.debug("PartitionedRegionDataStore for {} adding interest for: {}",
                partitionedRegion.getFullPath(), key);
          }
          if (references == null) {
            references = new AtomicInteger();
            keysOfInterest.put(key, references);
          }
          newNumberOfReferences = references.incrementAndGet();
        } else {
          // If this is an unregistration event, remove interest for this key
          if (logger.isDebugEnabled()) {
            logger.debug("PartitionedRegionDataStore for {} removing interest for: {}",
                partitionedRegion.getFullPath(), key);
          }
          if (references != null) {
            newNumberOfReferences = references.decrementAndGet();
            // If there are no more references, remove this key
            if (newNumberOfReferences == 0) {
              keysOfInterest.remove(key);
            }
          }
        }
        if (logger.isDebugEnabled()) {
          logger.debug(
              "PartitionedRegionDataStore for {} now has {} client(s) interested in key {}",
              partitionedRegion.getFullPath(), newNumberOfReferences, key);
        }
      }
    }
  }
Checks consistency of bucket and meta data before attempting to grab the bucket.

@return false if bucket should not be grabbed, else true. TODO prpersist - move this to
        BucketRegion
geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionDataStore.java