B instance) throws BeansException {
if (applicationContext instanceof GenericApplicationContext) {
ConfigurableListableBeanFactory beanFactory =
((GenericApplicationContext) applicationContext).getBeanFactory();
beanFactory.registerSingleton(generateName(beanFactory, createBeanDefinition(instance)), instance);
} else if (applicationContext instanceof AbstractRefreshableWebApplicationContext) {
ConfigurableListableBeanFactory beanFactory =
((AbstractRefreshableWebApplicationContext) applicationContext).getBeanFactory();
beanFactory.registerSingleton(generateName(beanFactory, createBeanDefinition(instance)), instance);
}