@Override
  public <E extends Throwable> int updateRecord(int recordId,
                                                @NotNull RecordUpdater<E> updater) throws E, IOException {
    int trueRecordId = (recordId <= NULL_ID) ?
                       allocateRecord() :
                       recordId;
    //RC: hope EscapeAnalysis removes the allocation here:
    RecordAccessor recordAccessor = new RecordAccessor(recordId, this);
    boolean updated = updater.updateRecord(recordAccessor);
    if (updated) {
      //incrementRecordVersion(recordAccessor.pageBuffer, recordOffsetOnPage);
    }
    return trueRecordId;
  }
@Override
  public <E extends Throwable> int updateRecord(int recordId,
                                                @NotNull RecordUpdater<E> updater)