}
@Override
protected void call(__ParameterList params, __Body body) {
final ITemplate template = createTemplate();
if (params.asMap().isEmpty()){
final List<Object> templateArguments = new ArrayList<Object>();
for (final Iterator<__Parameter> iter = params.iterator(); iter.hasNext();){
final __Parameter param = iter.next();
templateArguments.add(param.value);
}
template.__setRenderArgs(templateArguments.toArray());
} else {
template.__setRenderArgs(params.asMap());
}
if (body != null){
try {
templateSetBodyMethod.invoke(template, body);
} catch (Exception e) {
throw new IllegalStateException(e);
}
}
this.p(template.render());
}