protected @NotNull PersistentMapBase<Key, UpdatableValueContainer<Value>> createPersistentMap(
    @NotNull KeyDescriptor<Key> keyDescriptor,
    @NotNull DataExternalizer<UpdatableValueContainer<Value>> valueContainerExternalizer,
    boolean isReadOnly,
    boolean compactOnClose,
    boolean keyIsUniqueForIndexedFile) throws IOException {

    CreationTimeOptions creationOptions = CreationTimeOptions.threadLocalOptions()
      .setCompactChunksWithValueDeserialization();
    if (keyIsUniqueForIndexedFile) {
      creationOptions = creationOptions.setHasNoChunks();
    }
    return creationOptions.with(() -> {
      PersistentMapBuilder<Key, UpdatableValueContainer<Value>> builder = PersistentMapBuilder
        .newBuilder(getStorageFile(), keyDescriptor, valueContainerExternalizer)
        .withReadonly(isReadOnly)
        .withCompactOnClose(compactOnClose);
      if (myEnableWal && ENABLE_WAL && !isReadOnly) {
        builder
          .withWal(true)
          .withWalExecutor(SequentialTaskExecutor.createSequentialApplicationPoolExecutor("Index Wal Pool"));
      }
      return new PersistentMapImpl<>(builder);
    });
  }
protected @NotNull PersistentMapBase<Key, UpdatableValueContainer<Value>> createPersistentMap(
    @NotNull KeyDescriptor<Key> keyDescriptor,
    @NotNull DataExternalizer<UpdatableValueContainer<Value>> valueContainerExternalizer,
    boolean isReadOnly,
    boolean compactOnClose,
    boolean keyIsUniqueForIndexedFile)