code: public TemplateParser buildTemplateParser() {
  		// TODO: handle enable?
  		List<TemplateImplementation> impls = buildTemplateParserImpls();
  		if (impls.isEmpty()) {
  			// if no template parser available => exception
  			throw new BuildException("No parser available. Either disable template features or register a template engine");
  		}
  		if (impls.size() == 1) {
  			// if no detector defined or only one available parser => do not use
  			// auto detection
  			TemplateParser parser = impls.get(0).getParser();
  			LOG.info("Using single template engine: {}", parser);
  			return parser;
  		}
  		LOG.info("Using auto detection mechanism");
  		LOG.debug("Auto detection mechanisms: {}", impls);
  		return new AutoDetectTemplateParser(impls);
  	}
docs: Build the template parser according to options previously enabled. If
  only one template engine has been activated then the parser will be this
  template engine parser. If there are several activated engines, then the
  builder will generate an {@link AutoDetectTemplateParser}. This kind of
  parser is able to detect which parser to use according to the provided
  template at runtime. The auto-detection is delegated to each defined
  {@link TemplateEngineDetector} associated with each engine.
  
  @return the template parser instance
  @throws BuildException
  when template parser couldn't be initialized