void () { ExternalSystemManager<?, ?, ?, ?, ?> manager = ExternalSystemApiUtil.getManager(GradleConstants.SYSTEM_ID); assert manager != null; AbstractExternalSystemLocalSettings<?> localSettings = manager.getLocalSettingsProvider().fun(myProject); Map<String/*module path*/, List<VirtualFile> /*module build classpath*/> map = new HashMap<>(); final JarFileSystem jarFileSystem = JarFileSystem.getInstance(); final Map<String, VirtualFile> localVFCache = new HashMap<>(); for (final ExternalProjectBuildClasspathPojo projectBuildClasspathPojo : localSettings.getProjectBuildClasspath().values()) { final List<VirtualFile> projectBuildClasspath = new ArrayList<>(); for (String path : projectBuildClasspathPojo.getProjectBuildClasspath()) { final VirtualFile virtualFile = localVFCache.computeIfAbsent(path, it -> ExternalSystemUtil.findLocalFileByPath(it)) ; ContainerUtil.addIfNotNull(projectBuildClasspath, virtualFile == null || virtualFile.isDirectory() ? virtualFile : jarFileSystem.getJarRootForLocalFile(virtualFile)); } for (final ExternalModuleBuildClasspathPojo moduleBuildClasspathPojo : projectBuildClasspathPojo.getModulesBuildClasspath().values()) { final List<VirtualFile> moduleBuildClasspath = new ArrayList<>(projectBuildClasspath); for (String path : moduleBuildClasspathPojo.getEntries()) { final VirtualFile virtualFile = localVFCache.computeIfAbsent(path, it -> ExternalSystemUtil.findLocalFileByPath(it)) ; ContainerUtil.addIfNotNull(moduleBuildClasspath, virtualFile == null || virtualFile.isDirectory() ? virtualFile : jarFileSystem.getJarRootForLocalFile(virtualFile)); } map.put(moduleBuildClasspathPojo.getPath(), moduleBuildClasspath); } } myClasspathMap.set(map); Set<VirtualFile> set = new LinkedHashSet<>(); for (List<VirtualFile> virtualFiles : myClasspathMap.get().values()) { set.addAll(virtualFiles); } allFilesCache = new ArrayList<>(set); myClassFinderCache.clear(); }