private int setIntField(final int recordId,
                          final int fieldRelativeOffset,
                          final int fieldValue) throws IOException {
    final long recordOffsetInFile = recordOffsetInFile(recordId);
    final int recordOffsetOnPage = storage.toOffsetInPage(recordOffsetInFile);
    try (final PageUnsafe page = (PageUnsafe)storage.pageByOffset(recordOffsetInFile, /*forWrite: */ true)) {
      page.lockPageForWrite();
      try {
        final ByteBuffer pageBuffer = page.rawPageBuffer();
        int previousValue = pageBuffer.getInt(recordOffsetOnPage + fieldRelativeOffset);
        pageBuffer.putInt(recordOffsetOnPage + fieldRelativeOffset, fieldValue);
        incrementRecordVersion(pageBuffer, recordOffsetOnPage);
        page.regionModified(recordOffsetOnPage, RECORD_SIZE_IN_BYTES);
        return previousValue;
      }
      finally {
        page.unlockPageForWrite();
      }
    }
  }
private int setIntField(final int recordId,
                          final int fieldRelativeOffset,
                          final int fieldValue)