PackageDirectoryCache (@Nullable GlobalSearchScope scope) { PackageDirectoryCache cache = myCache; if (cache == null) { List<VirtualFile> roots = calcClassRoots(); List<VirtualFile> invalidRoots = ContainerUtil.filter(roots, f -> !f.isValid()); if (!invalidRoots.isEmpty()) { roots = ContainerUtil.filter(roots, VirtualFile::isValid); PluginException.logPluginError( LOG, "Invalid roots returned by " + getClass().getName() + ": " + invalidRoots, null, getClass() ); } myCache = cache = PackageDirectoryCache.createCache(roots); } return cache; }