code: private final Statement ifStatement(Data data) throws TemplateException {
  	if (!data.srcCode.forwardIfCurrent("if", '(')) return null;
  
  	Position line = data.srcCode.getPosition();
  
  	Body body = new BodyBase(data.factory);
  	Condition cont = new Condition(data.factory, condition(data), body, line, null);
  
  	if (!data.srcCode.forwardIfCurrent(')')) throw new TemplateException(data.srcCode, "if statement must end with a [)]");
  	// ex block
  	Body prior = data.setParent(body);
  	statement(data, body, CTX_IF);
  	data.setParent(prior);
  	// else if
  	comments(data);
  	while (elseifStatement(data, cont)) {
  	    comments(data);
  	}
  	// else
  	if (elseStatement(data, cont)) {
  	    comments(data);
  	}
  
  	cont.setEnd(data.srcCode.getPosition());
  	return cont;
      }
docs: Liest ein if Statement ein. <br />
  EBNF:<br />
  <code>spaces condition spaces ")" spaces block {"else if" spaces "(" elseifStatement spaces }
  [("else"  spaces "(" | "else ") elseStatement spaces];</code>
  
  @return if Statement
  @throws TemplateException