@Override
  public @Nullable String valueOf(int valueId) throws IOException {
    //FIXME RC: DataEnumerator.valueOf() specifies that it must return null for unknown (i.e. not enumerated before)
    //          ids. Current implementation generally doesn't comply: id is supplied to valuesLog, which most
    //          likely throws some random exception if supplied id is not a valid record id.
    //          We could 'fix' it by keeping a set of valid ids here, in enumerator -- but this is quite a memory
    //          consumption (almost same as .valueHashToId -- which is already quite noticeable), and also adds to
    //          .valueOf() execution time -- which we want to be as fast as possible. And all this for (almost)
    //          nothing: generally speaking, supplying random/unknown ids to enumerator is (almost always) a bug in
    //          code -- it shouldn't happen in a regular scenarios.
    //          Two approaches how to manage it:
    //          1. Implement the .knownIds set, but only under feature-flag, and enable it in DEBUG builds, but
    //             not in prod
    //          2. Adjust AppendOnlyLog so it stores recordId in the record itself, and checks it on read.
    //             This is less taxing on memory (consumes native/mapped instead of heap), and also concurrent,
    //             and also makes more sense by itself.

    if (!valuesLog.isValidId(valueId)) {
      return null;
    }
    return valuesLog.read(valueId, DurableStringEnumerator::readString);
  }
@Override
  public @Nullable String valueOf(int valueId)