IndexEntry getFirstPutEntry() throws StoreException {
      ByteBuffer mmap = serEntries.duplicate();
      for (int i = 0; i < numberOfEntries(mmap); i++) {
        StoreKey key = getKeyAt(mmap, i);
        byte[] buf = new byte[persistedValueSize];
        mmap.get(buf);
        IndexValue value = new IndexValue(startOffset.getName(), ByteBuffer.wrap(buf), getVersion());
        if (value.isPut()) {
          return new IndexEntry(key, value);
        }
      }
      // There is no Put in this segment
      return null;
    }
@return the first key (in lexicographical order) of sealed index segment
ambry-store/src/main/java/com/github/ambry/store/IndexSegment.java