code: @Autowired(required = false)
  	public void setTemplateProviderElements(List<ITemplateProviderElement> providers) {
  		this.elements = new ArrayList<ITemplateProviderElement>(providers);
  
  		Collections.sort(this.elements, new Comparator<ITemplateProviderElement>() {
  			@Override
  			public int compare(ITemplateProviderElement e1, ITemplateProviderElement e2) {
  				int o1 = e1.getOrder(), o2 = e2.getOrder();
  				return ((o1 < o2)? -1 : ((o1 == o2)? 0 : 1));
  			}
  		});
  
  		for(ITemplateProviderElement provider : elements) {
  			if(coreLogger.isDebugEnabled()) coreLogger.debug(Logs.LOG_01,
  					ansiString(GREEN, provider.getClass().getSimpleName()),
  					ansiString(GREEN, provider.getOrder())
  			);
  		}
  	}
docs: --------------------------------------------------------------------------