docs: private static List<ProjectDefinition> collectProjects(ProjectDefinition def, List<ProjectDefinition> collected) {
      collected.add(def);
      for (ProjectDefinition child : def.getSubProjects()) {
        collectProjects(child, collected);
      }
      return collected;
    }