public static Collection<ProjectType> getProjectTypes(@Nullable Project project) {
    if (project == null) return emptyList();
    if (project.isDefault()) return emptyList();

    return CachedValuesManager.getManager(project).getCachedValue(project, PROJECT_TYPES_KEY, () -> {
      return Result.create(findProjectTypes(project),
                           ProjectRootManager.getInstance(project),
                           DumbService.getInstance(project));
    }, false);
  }
public static Collection<ProjectType> getProjectTypes(@Nullable Project project)