// creates a new component, this is a prototype !!!
Object bean;
try {
bean = applicationContext.getBean(info.getPrototypeName(), PrintComponent.class);
} catch (BeansException be) {
throw new PrintingException(be, PrintingException.DTO_IMPLEMENTATION_NOT_FOUND,
info.getClass().getSimpleName(), info.getPrototypeName());
}
PrintComponent<T> component = (PrintComponent<T>) bean;
component.fromDto(info);
for (PrintComponentInfo child : info.getChildren()) {