docs: private void setupLR(String production, final LR l) throws ParserException {
  	/*
  	 * If the lr object does not contain a head, we found a new recursion
  	 * production. Otherwise we already know the production, but we found another
  	 * production which is involved in the recursion.
  	 */
  	if (l.getHead() == null)
  	    l.setHead(new Head(production));
  	/*
  	 * Go over all heads and...!?
  	 */
  	RuleInvocation s = ruleInvocationStack;
  	while (!l.getHead().getProduction().equals(s.getProduction())) {
  	    s.setHead(l.getHead());
  	    l.getHead().addInvolved(s.getProduction());
  	    s = s.getNext();
  	    if (s == null)
  		throw new RuntimeException("We should find the head again, when we search the stack.\n"
  			+ "We found a recursion and the rule should be there again.");
  	}
      }