} else if (o instanceof char[]) {
iterateChar(bindings, tag, out, (char[]) o);
} else if (o instanceof boolean[]) {
iterateBoolean(bindings, tag, out, (boolean[]) o);
} else {
throw new TemplateEvaluationException(null, "The provided expression value of class " +
o.getClass().getName() + " for foreach attribute is not iterable, on line: "
+ tag.getBeginLine() + ", column: " + tag.getBeginColumn(), tag.getBeginLine(), tag.getBeginColumn());
}
} catch (ExpressionEvaluationException e) {
throw new TemplateEvaluationException(e, "Could not execute the expression: " + e.getMessage(), tag.getBeginLine(), tag.getBeginColumn(), tag.getTagName());
}
}