code: public void validate() {
          if (!needsRequestTag || haveRequestTag) {
              for (MultipleSyntaxElements l : childContainers) {
                  l.validate();
              }
  
              /* wenn keine exception geworfen wurde, dann ist das aktuelle element
                 offensichtlich valid */
              setValid(true);
          }
      }
docs: ueberpreuft, ob das syntaxelement alle restriktionen einhaelt; ist das
  nicht der fall, so wird eine Exception ausgeloest. die meisten
  syntaxelemente koennen sich nicht selbst ueberpruefen, sondern rufen statt
  dessen die validate-funktion der child-elemente auf