private static Set<String> documentTypesWithIndex(ContentCluster content) {
        Set<String> typesWithIndexMode = content.getSearch().getDocumentTypesWithIndexedCluster().stream()
                                                .map(type -> type.getFullName().getName())
                                                .collect(Collectors.toCollection(LinkedHashSet::new));

        Set<String> typesWithIndexedFields = content.getSearch().getSearchCluster() == null
                                             ? Set.of()
                                             : content.getSearch().getSearchCluster().schemas().values().stream()
                                                      .filter(schemaInfo -> schemaInfo.fullSchema()
                                                                                  .allConcreteFields()
                                                                                  .stream().anyMatch(SDField::doesIndexing))
                                                      .map(SchemaInfo::name)
                                                      .collect(Collectors.toCollection(LinkedHashSet::new));

        return typesWithIndexMode.stream().filter(typesWithIndexedFields::contains)
                                          .collect(Collectors.toCollection(LinkedHashSet::new));
    }
Constructs vespa model using config given in app

@param configModelRegistry a registry of config model "main" classes which may be used
       to instantiate config models
@param deployState the global deploy state to use for this model.
config-model/src/main/java/com/yahoo/vespa/model/VespaModel.java