rbi.dependson = abd.getDependsOn();
  static RSACBeanInfo convertBeanDef(ConfigurableListableBeanFactory factory,      String beanname) {    RSACBeanInfo rbi = new RSACBeanInfo();    BeanDefinition origdef = factory.getBeanDefinition(beanname);    AbstractBeanDefinition def = getMergedBeanDefinition(factory, beanname,        origdef);    MutablePropertyValues pvs = def.getPropertyValues();    PropertyValue[] values = pvs.getPropertyValues();    for (int j = 0; j < values.length; ++j) {      PropertyValue thispv = values[j];      Object beannames = BeanDefUtil.propertyValueToBeanName(thispv.getValue());      boolean skip = false;      // skip recording the dependency if it was unresolvable (some      // unrecognised      // type) or was a single-valued type referring to a static dependency.      // NB - we now record ALL dependencies - bean-copying strategy      // discontinued.      if (beannames == null      // || beannames instanceof String      // && !blankcontext.containsBean((String) beannames)      ) {        skip = true;      }      if (!skip) {        rbi.recordDependency(thispv.getName(), beannames);      }    }    // NB - illegal cast here is unavoidable.    // Bit of a problem here with Spring flow - apparently the bean class    // will NOT be set for a "factory-method" bean UNTIL it has been    // instantiated    // via the logic in AbstractAutowireCapableBeanFactory l.376:    // protected BeanWrapper instantiateUsingFactoryMethod(    AbstractBeanDefinition abd = def;    rbi.factorybean = abd.getFactoryBeanName();    rbi.factorymethod = abd.getFactoryMethodName();    rbi.initmethod = abd.getInitMethodName();    rbi.destroymethod = abd.getDestroyMethodName();    rbi.islazyinit = abd.isLazyInit();    if (abd.hasConstructorArgumentValues()) {      rbi.constructorargvals = abd.getConstructorArgumentValues();    }    if (rbi.factorymethod == null) {      // all right then BE like that! We'll work out the class later.      // NB - beandef.getBeanClass() was eliminated around 1.2, we must      // use the downcast even earlier now.      rbi.beanclass = abd.getBeanClass();       }    return rbi;  }