protected abstract Component getBean();
protected Map unwrapParameters(Map params) {
Map map = new HashMap(params.size());
DefaultObjectWrapper objectWrapper = new DefaultObjectWrapper();
for (Iterator iterator = params.entrySet().iterator(); iterator.hasNext();) {
Map.Entry entry = (Map.Entry) iterator.next();
Object value = entry.getValue();
if (value != null) {
// the value should ALWAYS be a decendant of TemplateModel
if (value instanceof TemplateModel) {
try {
map.put(entry.getKey(), objectWrapper
.unwrap((TemplateModel) value));
} catch (TemplateModelException e) {
LOG.error("failed to unwrap [" + value
+ "] it will be ignored", e);
}