public Analyzer getAnalyzer(String name) {
        if (StringUtils.isBlank(name)) {
            throw new IllegalArgumentException("Not null nor empty analyzer name required");
        }
        Analyzer analyzer = analyzers.get(name);
        if (analyzer == null) {
            analyzer = PreBuiltAnalyzers.get(name);
            if (analyzer == null) {
                try {
                    analyzer = (new ClasspathAnalyzerBuilder(name)).analyzer();
                } catch (Exception e) {
                    throw new IllegalArgumentException("Not found analyzer: " + name);
                }
            }
            analyzers.put(name, analyzer);
        }
        return analyzer;
    }
public Analyzer getAnalyzer ( String name ) { if ( StringUtils . isBlank ( name ) ) { throw new IllegalArgumentException ( "Not null nor empty analyzer name required" ) ; } Analyzer analyzer = analyzers . get ( name ) ; if ( analyzer == null ) { analyzer = PreBuiltAnalyzers . get ( name ) ; if ( analyzer == null ) { try { analyzer = ( new ClasspathAnalyzerBuilder ( name ) ) . analyzer ( ) ; } catch ( Exception e ) { throw new IllegalArgumentException ( "Not found analyzer: " + name ) ; } } analyzers . put ( name , analyzer ) ; } return analyzer ; }
Returns the {@link Analyzer} identified by the specified name. If there is no analyzer with the specified name,
then it will be interpreted as a class name and it will be instantiated by reflection.

{@link IllegalArgumentException} is thrown if there is no {@link Analyzer} with such name.

@param name The name of the {@link Analyzer} to be returned.
@return The {@link Analyzer} identified by the specified name.