private List<Pair<StoreKey, Long>> createKeysAndContentSizes(int keySize, int lowerBound, int higherBound,
      int numKeys) {
    List<Pair<StoreKey, Long>> keysAndContentSizes = new ArrayList<>();
    Random rand = new Random();
    for (int i = 0; i < numKeys; i++) {
      keysAndContentSizes.add(new Pair<>(new MockId(TestUtils.getRandomString(keySize)),
          (long) rand.nextInt(higherBound - lowerBound) + lowerBound));
    }
    return keysAndContentSizes;
  }
Creates a list of pairs of StoreKeys and content sizes, where each pair is of a random size
@param keySize size of the actual store key
@param lowerBound the smallest random content size value allowed
@param higherBound the largest random content size value allowed
@param numKeys number of keys to populate the list
@return a list of pairs of StoreKeys and content sizes, where each pair is of a random size
ambry-messageformat/src/test/java/com/github/ambry/messageformat/CompositeBlobInfoTest.java