FileAttributes (@NotNull VirtualFile file) { Pair<VirtualFile, Map<String, FileAttributes>> cache = myFileAttributesCache.get(); if (cache != null) { if (!cache.first.equals(file.getParent())) { LOG.error("unordered access to " + file + " outside " + cache.first); } else { return cache.second.get(file.getName()); } } return super.getAttributes(file); }