@Override
  public StoreKey getKeyAt(int index) {
    if (index >= readOptions.size()) {
      throw new IndexOutOfBoundsException("index [" + index + "] out of the messageset");
    }
    return readOptions.get(index).getMessageInfo().getStoreKey();
  }
An implementation of MessageReadSet that maintains a list of
offsets from the underlying file channel
ambry-store/src/main/java/com/github/ambry/store/StoreMessageReadSet.java