void (@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(); } }