Collection<ClassInfo> () { final Collection<ClassInfo> classes = super.getClasses(); JavaCoverageSuite javaCoverageSuite = (JavaCoverageSuite)suite.getSuites()[0]; if (!suite.isTrackTestFolders() || javaCoverageSuite.getExcludedClassNames().length > 0 || javaCoverageSuite.getExcludedPackageNames().length > 0) { final JavaPsiFacade psiFacade = JavaPsiFacade.getInstance(project); final GlobalSearchScope productionScope = !suite.isTrackTestFolders() ? GlobalSearchScopesCore.projectProductionScope(project) : GlobalSearchScope.projectScope(project); for (Iterator<ClassInfo> iterator = classes.iterator(); iterator.hasNext(); ) { final ClassInfo aClass = iterator.next(); final PsiClass psiClass = DumbService.getInstance(project).runReadActionInSmartMode(() -> { if (project.isDisposed()) return null; return psiFacade.findClass(aClass.getFQName(), productionScope); }); if (psiClass == null || !suite.getCoverageEngine().acceptedByFilters(ReadAction.compute(() -> psiClass.getContainingFile()), suite)) { iterator.remove(); } } } return classes; }