@Override
  public void clearCaches(@Nullable File file) {
    if (file != null) {
      myDirectoryCache.clear();
      final Archive arch = myArchiveCache.remove(file);
      if (arch != null) {
        try {
          arch.close();
        }
        catch (IOException ignored) {
        }
      }
    }
    else {
      myDirectoryCache.clear();
      myIsFile.clear();
      final Map<File, FileOperations.Archive> archCache = myArchiveCache;
      for (Map.Entry<File, FileOperations.Archive> entry : archCache.entrySet()) {
        try {
          entry.getValue().close();
        }
        catch (Throwable ignored) {
        }
      }
      archCache.clear();
    }
  }
@Override
  public void clearCaches(@Nullable File file)