code: private void verifyTemplate(Template<?> template, LinkedHashSet<String> templates) {
  		String id = template.getKey();
  
  		// Sprawdzanie, czy w gałęzi wywołań szablonów nie ma zapętlenia:
  		if(templates.contains(id)) {
  			// Wyświetlanie gałęzi z zapętleniem i wyrzucanie wyjątku:
  			Iterator<String> t = templates.iterator();
  			System.out.print(t.next());
  			while(t.hasNext()) {
  				System.out.print("->" + t.next());
  			}
  			System.out.println("->" + id);
  
  			throw new IllegalStateException("Zapętlenie wywołań szablonu '" + id + "'");
  		}
  
  		// Szablon OK. Dodawanie do zbioru szablonów gałęzi:
  		templates.add(id);
  
  //		// Sprawdzanie każdego z podszablonów szablonu:
  //		if(template.getReferences() != null) {
  //			for(TemplateReference reference : template.getReferences()) {
  //				verifyTemplate(reference, templates);
  //			}
  //		}
  	}
docs: Weryfikuje poprawność szablonu, szablonu nadrzędnego i rekurencyjne
  sprawdza wszystkie szablony używane. Kontroluje, czy drzewie wywołań
  szablonów nie występuje zapętlenie.
  
  @param template Szablon do weryfikacji.
  @param templates Zbiór identyfikatorów szablonów gałęzi. Wykorzystywany
  do wykrywania zapętleń wywołań.