tokenStream.consume();
if (!skip) {
this.context.engine.getOutputAppender().append(this.getOutput(), token.getText(), token);
if (!skip) {
String expanded = (String) token.evaluate(context);
this.context.engine.getOutputAppender().append(this.getOutput(), expanded, token);
tokenStream.consume();
this.context.engine.getErrorHandler().error(ELSE_OUT_OF_SCOPE, token);
this.context.engine.getOutputAppender().append(this.getOutput(), "", token);
} else if (token instanceof EndToken) {
tokenStream.consume();
this.context.engine.getErrorHandler().error(UNMATCHED_END, token);
this.context.engine.getOutputAppender().append(this.getOutput(), "", token);
} else if (token instanceof InvalidToken) {
tokenStream.consume();
this.context.engine.getErrorHandler().error(INVALID_EXPRESSION, token);
this.context.engine.getOutputAppender().append(this.getOutput(), "", token);
} else {
tokenStream.consume();
this.context.engine.getOutputAppender().append(this.getOutput(), evaluated, token);