code: 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;
      }
docs: 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.