@Override
public Processor createProcessor(RouteContext routeContext) {
BeanProcessor answer;
if (ObjectHelper.isNotEmpty(ref)) {
RegistryBean beanHolder = new RegistryBean(routeContext.getCamelContext(), ref);
// bean holder will check if the bean exists
bean = beanHolder.getBean();
answer = new BeanProcessor(beanHolder);
} else {
if (bean == null) {
ObjectHelper.notNull(beanType, "bean, ref or beanType", this);
bean = CamelContextHelper.newInstance(routeContext.getCamelContext(), beanType);