@Override
    protected BeanReactor<ApplicationContext> createStrategy() {
        if (getBeanName().isEmpty()) {
            return new AbstractProxyTargetLocator.BeanReactor<ApplicationContext>() {
                public boolean containsBean(ApplicationContext applicationContext) {
                    try {
                        applicationContext.getBean(beanType);
                    } catch (NoSuchBeanDefinitionException e) {
                        return false;
                    }
                    return true;
                }

                public Object createBean(ApplicationContext applicationContext) {
                    return applicationContext.getBean(beanType);
                }
            };
        }
        if (overwrites == null || overwrites.size() == 0 || !overwrites.containsKey(getBeanName())) {
            return new AbstractProxyTargetLocator.BeanReactor<ApplicationContext>() {
                public boolean containsBean(ApplicationContext applicationContext) {
                    return applicationContext.containsBean(getBeanName());
                }

                public Object createBean(ApplicationContext applicationContext) {
                    return applicationContext.getBean(getBeanName(), beanType);
                }
            };
        }
        return new AbstractProxyTargetLocator.BeanReactor<ApplicationContext>() {
            public boolean containsBean(ApplicationContext applicationContext) {
                return applicationContext.containsBean(overwrites.get(getBeanName()));
            }

            public Object createBean(ApplicationContext applicationContext) {
                return applicationContext.getBean(overwrites.get(getBeanName()), beanType);
            }
        };
    }
@ Override protected BeanReactor < ApplicationContext > createStrategy ( ) { if ( getBeanName ( ) . isEmpty ( ) ) { return new AbstractProxyTargetLocator . BeanReactor < ApplicationContext > ( ) { public boolean containsBean ( ApplicationContext applicationContext ) { try { applicationContext . getBean ( beanType ) ; } catch ( NoSuchBeanDefinitionException e ) { return false ; } return true ; } public Object createBean ( ApplicationContext applicationContext ) { return applicationContext . getBean ( beanType ) ; } } ; } if ( overwrites == null || overwrites . size ( ) == 0 || ! overwrites . containsKey ( getBeanName ( ) ) ) { return new AbstractProxyTargetLocator . BeanReactor < ApplicationContext > ( ) { public boolean containsBean ( ApplicationContext applicationContext ) { return applicationContext . containsBean ( getBeanName ( ) ) ; } public Object createBean ( ApplicationContext applicationContext ) { return applicationContext . getBean ( getBeanName ( ) , beanType ) ; } } ; } return new AbstractProxyTargetLocator . BeanReactor < ApplicationContext > ( ) { public boolean containsBean ( ApplicationContext applicationContext ) { return applicationContext . containsBean ( overwrites . get ( getBeanName ( ) ) ) ; } public Object createBean ( ApplicationContext applicationContext ) { return applicationContext . getBean ( overwrites . get ( getBeanName ( ) ) , beanType ) ; } } ; }
{@inheritDoc}