code: static AsyncTableEntryReader<TableKey> readKey(long keyVersion, EntrySerializer serializer, TimeoutTimer timer) {
          return new KeyReader(keyVersion, serializer, timer);
      }
docs: Creates a new {@link AsyncTableEntryReader} that can be used to read a key.
  
  @param keyVersion The version of the {@link TableKey} that is located at this position. This will be used for
  constructing the result and has no bearing on the reading/matching logic.
  @param serializer The {@link EntrySerializer} to use for deserializing the Keys.
  @param timer      Timer for the whole operation.
  @return A new instance of the {@link AsyncTableEntryReader} class. The {@link #getResult()} will be completed with
  an {@link TableKey} instance once a key is read.