protected Object createNewInstance(BeanInfo beanInfo) throws Throwable
{
ClassInfo classInfo = beanInfo.getClassInfo();
if (classInfo.isInterface())
{
InstanceFactory instanceFactory = instanceFactoryMap.get(classInfo.getType());
if (instanceFactory == null)
throw new IllegalArgumentException("Cannot instantiate interface BeanInfo, missing InstanceFactory: " + classInfo);
return instanceFactory.instantiate(beanInfo);
}
return beanInfo.newInstance();
}