private Provider buildProvider(ChainSpecification specWithoutInnerSearchers,
                                   ProviderReader providerReader,
                                   FederationOptions federationOptions) {
        if (providerReader.type == null) {
            return new GenericProvider(specWithoutInnerSearchers, federationOptions);
        } else if (LocalProviderSpec.includesType(providerReader.type)) {
            return buildLocalProvider(specWithoutInnerSearchers, providerReader, federationOptions);
        } else {
            throw new IllegalArgumentException("Unknown provider type '" + providerReader.type + "'");
        }
    }
Retrieves all possible provider specific parameters
config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/chains/search/DomProviderBuilder.java