boolean (Project project, Module module, String qualifiedName) { UserDataHolder holder = module == null ? project : module; Key<Boolean> cacheKey = LOADER_VALID; Boolean result = holder.getUserData(cacheKey); if (result == null) { result = ReadAction.compute(() -> { //noinspection RedundantCast return DumbService.getInstance(project).computeWithAlternativeResolveEnabled((ThrowableComputable<Boolean, RuntimeException>)() -> { GlobalSearchScope scope = module != null ? GlobalSearchScope.moduleRuntimeScope(module, true) : GlobalSearchScope.allScope(project); return JavaPsiFacade.getInstance(project).findClass(qualifiedName, scope) != null; }); }); holder.putUserData(cacheKey, result); } return result; }