Class beanClass = bean.value();
if (beanClass.equals(Object.class))
beanClass = op.getPropertyType(propertyName);
IBeanSpecification bs = new BeanSpecification();
// A shame to convert it to a string then back to
// a class later, but ...
bs.setClassName(beanClass.getName());
bs.setPropertyName(propertyName);
bs.setLocation(location);
// Starting to like enums!
bs.setLifecycle(bean.lifecycle().getBeanLifecycle());
String initializer = bean.initializer();
if (HiveMind.isNonBlank(initializer))
bs.addInitializer(new LightweightBeanInitializer(initializer));
spec.addBeanSpecification(propertyName, bs);
}