code: void unlockBucketsRead(long i1, long i2) {
  		int bucket1LockIdx = getBucketLock(i1);
  		int bucket2LockIdx = getBucketLock(i2);
  		// always unlock segments in same order to avoid deadlocks
  		if (bucket1LockIdx == bucket2LockIdx) {
  			lockAry[bucket1LockIdx].tryUnlockRead();
  			return;
  		}
  		lockAry[bucket1LockIdx].tryUnlockRead();
  		lockAry[bucket2LockIdx].tryUnlockRead();
  	}
docs: Unlocks segments corresponding to bucket indexes in specific order to prevent deadlocks