docs: private void recreateDirectoryIfVersionChanges() {
      boolean recreateBase = false;
      if (!mRootDirectory.exists()) {
        recreateBase = true;
      } else if (!mVersionDirectory.exists()) {
        recreateBase = true;
        FileTree.deleteRecursively(mRootDirectory);
      }
  
      if (recreateBase) {
        try {
          FileUtils.mkdirs(mVersionDirectory);
        } catch (FileUtils.CreateDirectoryException e) {
          // not the end of the world, when saving files we will try to create missing parent dirs
          mCacheErrorLogger.logError(
              CacheErrorLogger.CacheErrorCategory.WRITE_CREATE_DIR,
              TAG,
              "version directory could not be created: " + mVersionDirectory,
              null);
        }
      }
    }