@Override
  public void force() throws IOException {
    if (dirty.get()) {
      setIntHeaderField(HEADER_GLOBAL_MOD_COUNT_OFFSET, globalModCount.get());

      final long actualDataLength = actualDataLength();
      final ByteBuffer actualRecordsToStore = records.duplicate();
      actualRecordsToStore.position(0)
        .limit((int)actualDataLength)
        .order(records.order());
      try (final SeekableByteChannel channel = Files.newByteChannel(storagePath, WRITE, CREATE)) {
        channel.write(actualRecordsToStore);
      }
      markNotDirty();
    }
  }
@Override
  public void force()