public static int getHashKey(Object routingObject, int totalNumBuckets) {
    int hc = routingObject.hashCode();
    int bucketId = hc % totalNumBuckets;
    // Force positive bucket ids only
    return Math.abs(bucketId);
  }
Runs hashCode() on given key/routing object producing a long value and then finds absolute
value of the modulus with bucketSize. For better key distribution, possibly use MD5 or SHA or
any unique ID generator for the hash function.

@param event entry event created for this entry operation; can be null
@param pr the partitioned region on which to operate
@param operation operation
@param key the key on which to determine the hash key
@param callbackArgument the callbackArgument is passed to <code>PartitionResolver</code> to get
       Routing object
@return the bucket id the key/routing object hashes to
geode-core/src/main/java/org/apache/geode/internal/cache/PartitionedRegionHelper.java