@Override
  public <E extends Throwable> void updateHeader(final @NotNull HeaderUpdater<E> updater) throws E, IOException {
    try (final Page page = storage.pageByOffset(0, /*forWrite: */true)) {
      page.lockPageForWrite();
      try {
        if (updater.updateHeader(headerAccessor)) {
          globalModCount.incrementAndGet();
        }
      }
      finally {
        page.unlockPageForWrite();
      }
    }
  }
@Override
  public <E extends Throwable> void updateHeader(final @NotNull HeaderUpdater<E> updater)