protected void doExecute(Map<String, Object> bindings, TagNode tag, Writer out) throws TemplateEvaluationException, IOException {
try {
bindings.put(getCurrentObjectName(), expression.eval(bindings));
tag.execute(bindings, out);
} catch (ExpressionEvaluationException e) {
throw new TemplateEvaluationException(e, "Could not execute the expression: " +
e.getMessage() + ", on line: " + tag.getBeginLine() + ", column: " +
tag.getBeginColumn(), tag.getBeginLine(), tag.getBeginColumn(), tag.getTagName());
}
}