@Override
  public <R, E extends Throwable> R readRecord(int recordId,
                                               @NotNull RecordReader<R, E> reader) throws E, IOException {
    RecordAccessor recordAccessor = new RecordAccessor(recordId, this);
    return reader.readRecord(recordAccessor);
  }
@Override
  public <R, E extends Throwable> R readRecord(int recordId,
                                               @NotNull RecordReader<R, E> reader)