private CustomAnalyzer.Builder addCharFilters(CustomAnalyzer.Builder builder,
                                                  LuceneAnalysisConfig.Analysis analysis) throws IOException {
        if (null == analysis) {
            // by default there are no char filters
            return builder;
        }
        for (LuceneAnalysisConfig.Analysis.CharFilters charFilter : analysis.charFilters()) {
            builder.addCharFilter(charFilter.name(), asModifiable(charFilter.conf()));
        }
        return builder;
    }
First, checks if a component is configured for a languageCode + StemMode.
Second, checks if Analyzer is configured only for a languageCode.
lucene-linguistics/src/main/java/com/yahoo/language/lucene/AnalyzerFactory.java