public void registerPetitePropertyInjectionPoint(String beanName, String property, String reference) {
BeanDefinition beanDefinition = lookupExistingBeanDefinition(beanName);
String[] references = reference == null ? null : new String[] {reference};
ClassDescriptor cd = ClassIntrospector.lookup(beanDefinition.type);
FieldDescriptor fieldDescriptor = cd.getFieldDescriptor(property, true);
if (fieldDescriptor == null) {
throw new PetiteException("Property not found: " + beanDefinition.type.getName() + '#' + property);
}
PropertyInjectionPoint pip =
injectionPointFactory.createPropertyInjectionPoint(fieldDescriptor.getField(), references);
beanDefinition.addPropertyInjectionPoint(pip);
}