Collection<ProjectType> (@NotNull Project project) { List<ProjectTypesProvider> providers = ProjectTypesProvider.EP_NAME.getExtensionList(); if (providers.isEmpty()) return emptyList(); return ReadAction.compute(() -> { if (DumbService.isDumb(project)) return emptyList(); return providers.stream() .flatMap(p -> p.inferProjectTypes(project).stream()) .toList(); }); }