@Override
  public @NotNull MMappedFileStorage open(@NotNull Path storagePath) throws IOException {
    Path absoluteStoragePath = storagePath.toAbsolutePath();

    boolean storageFileExists = Files.exists(absoluteStoragePath);

    if (!storageFileExists) {
      checkParentDirectories(absoluteStoragePath);
    }//if storage file does exist => parentDir definitely does exist also

    MMappedFileStorage.RegionAllocationAtomicityLock
      regionAllocationLock = MMappedFileStorage.RegionAllocationAtomicityLock.defaultLock(absoluteStoragePath);

    long fileSize = storageFileExists ? Files.size(absoluteStoragePath) : 0;

    if (fileSize % pageSize != 0) {
      dealWithPageUnAlignedFileSize(absoluteStoragePath, fileSize, regionAllocationLock);
    }

    return new MMappedFileStorage(absoluteStoragePath, pageSize, regionAllocationLock);
  }
@Override
  public @NotNull MMappedFileStorage open(@NotNull Path storagePath)