List<PsiClass> (final Project project) { final List<PsiClass> classes = new ArrayList<>(); final String[] classNames = getFilteredClassNames(); if (classNames.length > 0) { final DumbService dumbService = DumbService.getInstance(project); for (final String className : classNames) { ThrowableComputable<PsiClass, RuntimeException> computable = () -> { GlobalSearchScope searchScope = GlobalSearchScope.allScope(project); RunConfigurationBase<?> configuration = getConfiguration(); if (configuration instanceof ModuleBasedConfiguration) { Module module = ((ModuleBasedConfiguration<?,?>)configuration).getConfigurationModule().getModule(); if (module != null) { searchScope = GlobalSearchScope.moduleRuntimeScope(module, isTrackTestFolders()); } } return JavaPsiFacade.getInstance(project).findClass(className.replace("$", "."), searchScope); }; final PsiClass aClass = ReadAction.compute(() -> dumbService.computeWithAlternativeResolveEnabled(computable)); if (aClass != null) { classes.add(aClass); } } } return classes; }