InternalDistributedMember getBucketNodeForReadOrWrite(int bucketId,
      EntryEventImpl clientEvent) {
    InternalDistributedMember targetNode;
    if (clientEvent != null && clientEvent.getOperation() != null
        && clientEvent.getOperation().isGetForRegisterInterest()) {
      targetNode = getNodeForBucketWrite(bucketId, null);
    } else {
      targetNode = getNodeForBucketReadOrLoad(bucketId);
    }
    return targetNode;
  }
Create a bucket for the provided bucket identifier in an atomic fashion.

@param bucketId the bucket identifier for the bucket that needs creation
@param snoozer tracking object used to determine length of time t for bucket creation
@return a selected Node on which to perform bucket operations
geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegion.java