@Override
  public void putBuffer(final long offsetInFile,
                        final @NotNull ByteBuffer data) throws IOException {
    checkValueIsPageAligned(offsetInFile, data.remaining());

    final int pageIndex = toPageIndex(offsetInFile);
    final int offsetInPage = toOffsetInPage(offsetInFile);
    try (final Page page = pageByIndex(pageIndex, /*forWrite: */ true)) {
      page.putFromBuffer(data, offsetInPage);
    }
  }
@Override
  public void putBuffer(final long offsetInFile,
                        final @NotNull ByteBuffer data)