List<SyntheticLibrary> () { if (!isValid()) return Collections.emptyList(); VirtualFile virtualFile = getFile(); if (virtualFile == null) return Collections.emptyList(); Project project = getProject(); ProjectFileIndex fileIndex = ProjectFileIndex.getInstance(project); if (!fileIndex.isInLibrarySource(virtualFile)) return Collections.emptyList(); VirtualFile sourcesRoot = fileIndex.getSourceRootForFile(virtualFile); if (sourcesRoot != null) { List<SyntheticLibrary> list = new ArrayList<>(); for (AdditionalLibraryRootsProvider e : AdditionalLibraryRootsProvider.EP_NAME.getExtensionList()) { for (SyntheticLibrary library : e.getAdditionalProjectLibraries(project)) { if (library.getSourceRoots().contains(sourcesRoot)) { Condition<VirtualFile> excludeFileCondition = library.getUnitedExcludeCondition(); if (excludeFileCondition == null || !excludeFileCondition.value(virtualFile)) { list.add(library); } } } } return list; } return Collections.emptyList(); }