boolean (@NotNull Url url, @NotNull VirtualFile local) { long now = System.currentTimeMillis(); // don't update more frequently than once in 4 hours if (now - myLastUpdateTime < UPDATE_DELAY) { return true; } myLastUpdateTime = now; String path = local.getPath(); if (now - new File(path).lastModified() < UPDATE_DELAY) { return true; } if (checkUpToDate(url, path, ETAG_HEADER)) return true; if (checkUpToDate(url, path, LAST_MODIFIED_HEADER)) return true; return false; }