code: private int indexSingleKey(InputStream input, long entryOffset, KeyUpdateCollection keyUpdateCollection) throws IOException {
          // Retrieve the next entry, get its Key and hash it.
          val e = AsyncTableEntryReader.readEntryComponents(input, entryOffset, this.connector.getSerializer());
          HashedArray key = new HashedArray(e.getKey());
  
          // Index the Key. If it was used before, then their versions will be compared to determine which one prevails.
          val update = new BucketUpdate.KeyUpdate(key, entryOffset, e.getVersion(), e.getHeader().isDeletion());
          keyUpdateCollection.add(update, e.getHeader().getTotalLength(), e.getHeader().getEntryVersion());
          return e.getHeader().getTotalLength();
      }
docs: Indexes a single Key for a Table Entry that begins with the first byte of the given InputStream.
  
  @param input         The InputStream that contains the Table Entry to index.
  @param entryOffset   The offset within the Segment where this Table Entry begins.
  @param keyUpdateCollection A Map where to add the result.
  @return The number of bytes processed from the given InputStream.
  @throws IOException If an IOException occurred.