Buggy code:
public abstract class AbstractApplicationContext extends DefaultResourceLoader implements DisposableBean , ConfigurableApplicationContext { public static final String MESSAGE_SOURCE_BEAN_NAME = "messageSource" ; public static final String LIFECYCLE_PROCESSOR_BEAN_NAME = "lifecycleProcessor" ; public static final String APPLICATION_EVENT_MULTICASTER_BEAN_NAME = "applicationEventMulticaster" ; protected final Log logger = LogFactory . getLog ( getClass ( ) ) ; private String id = ObjectUtils . identityToString ( this ) ; private String displayName = ObjectUtils . identityToString ( this ) ; private ApplicationContext parent ; private final List < BeanFactoryPostProcessor > beanFactoryPostProcessors = new ArrayList < BeanFactoryPostProcessor > ( ) ; private long startupDate ; private boolean active = false ; private boolean closed = false ; private final Object activeMonitor = new Object ( ) ; private final Object startupShutdownMonitor = new Object ( ) ; private Thread shutdownHook ; private ResourcePatternResolver resourcePatternResolver ; private LifecycleProcessor lifecycleProcessor ; private MessageSource messageSource ; private ApplicationEventMulticaster applicationEventMulticaster ; private Set < ApplicationListener < ? > > applicationListeners = new LinkedHashSet < ApplicationListener < ? > > ( ) ; private ConfigurableEnvironment environment ; public AbstractApplicationContext ( ) { } public AbstractApplicationContext ( ApplicationContext parent ) { } public void setId ( String id ) { } public String getId ( ) { } public String getApplicationName ( ) { } public void setDisplayName ( String displayName ) { } public String getDisplayName ( ) { } public ApplicationContext getParent ( ) { } public ConfigurableEnvironment getEnvironment ( ) { } public void setEnvironment ( ConfigurableEnvironment environment ) { } public AutowireCapableBeanFactory getAutowireCapableBeanFactory ( ) throws IllegalStateException { } public long getStartupDate ( ) { } public void publishEvent ( ApplicationEvent event ) { } private ApplicationEventMulticaster getApplicationEventMulticaster ( ) throws IllegalStateException { } private LifecycleProcessor getLifecycleProcessor ( ) { } protected ResourcePatternResolver getResourcePatternResolver ( ) { } public void setParent ( ApplicationContext parent ) { } public void addBeanFactoryPostProcessor ( BeanFactoryPostProcessor beanFactoryPostProcessor ) { } public List < BeanFactoryPostProcessor > getBeanFactoryPostProcessors ( ) { } public void addApplicationListener ( ApplicationListener < ? > listener ) { } public Collection < ApplicationListener < ? > > getApplicationListeners ( ) { } protected ConfigurableEnvironment createEnvironment ( ) { } public void refresh ( ) throws IllegalStateException , BeansException { } protected void prepareRefresh ( ) { } protected void initPropertySources ( ) { } protected ConfigurableListableBeanFactory obtainFreshBeanFactory ( ) { } protected void prepareBeanFactory ( ConfigurableListableBeanFactory beanFactory ) { } protected void postProcessBeanFactory ( ConfigurableListableBeanFactory beanFactory ) { } protected void invokeBeanFactoryPostProcessors ( ConfigurableListableBeanFactory beanFactory ) { } private void invokeBeanFactoryPostProcessors ( Collection < ? extends BeanFactoryPostProcessor > postProcessors , ConfigurableListableBeanFactory beanFactory ) { } protected void registerBeanPostProcessors ( ConfigurableListableBeanFactory beanFactory ) { } private void registerBeanPostProcessors ( ConfigurableListableBeanFactory beanFactory , List < BeanPostProcessor > postProcessors ) { } protected void initMessageSource ( ) { } protected void initApplicationEventMulticaster ( ) { } protected void initLifecycleProcessor ( ) { } protected void onRefresh ( ) throws BeansException { } protected void registerListeners ( ) { } @ Deprecated protected void addListener ( ApplicationListener < ? > listener ) { } protected void finishBeanFactoryInitialization ( ConfigurableListableBeanFactory beanFactory ) { if ( ( beanFactory . containsBean ( CONVERSION_SERVICE_BEAN_NAME ) ) && ( beanFactory . isTypeMatch ( CONVERSION_SERVICE_BEAN_NAME , ConversionService . class ) ) ) { beanFactory . setConversionService ( beanFactory . getBean ( CONVERSION_SERVICE_BEAN_NAME , ConversionService . class ) ) ; } <START_BUG> String [ ] weaverAwareNames = beanFactory . getBeanNamesForType ( LoadTimeWeaverAware . class , false , true ) ; <END_BUG> for ( String weaverAwareName : weaverAwareNames ) { getBean ( weaverAwareName ) ; } beanFactory . setTempClassLoader ( null ) ; beanFactory . freezeConfiguration ( ) ; beanFactory . preInstantiateSingletons ( ) ; } protected void finishRefresh ( ) { } protected void cancelRefresh ( BeansException ex ) { } public void registerShutdownHook ( ) { } public void destroy ( ) { } public void close ( ) { } protected void doClose ( ) { } protected void destroyBeans ( ) { } protected void onClose ( ) { } public boolean isActive ( ) { } public Object getBean ( String name ) throws BeansException { } public < T > T getBean ( String name , Class < T > requiredType ) throws BeansException { } public < T > T getBean ( Class < T > requiredType ) throws BeansException { } public Object getBean ( String name , Object ... args ) throws BeansException { } public boolean containsBean ( String name ) { } public boolean isSingleton ( String name ) throws NoSuchBeanDefinitionException { } public boolean isPrototype ( String name ) throws NoSuchBeanDefinitionException { } public boolean isTypeMatch ( String name , Class < ? > targetType ) throws NoSuchBeanDefinitionException { } public Class < ? > getType ( String name ) throws NoSuchBeanDefinitionException { } public String [ ] getAliases ( String name ) { } public boolean containsBeanDefinition ( String beanName ) { } public int getBeanDefinitionCount ( ) { } public String [ ] getBeanDefinitionNames ( ) { } public String [ ] getBeanNamesForType ( Class < ? > type ) { } public String [ ] getBeanNamesForType ( Class < ? > type , boolean includeNonSingletons , boolean allowEagerInit ) { } public < T > Map < String , T > getBeansOfType ( Class < T > type ) throws BeansException { } public < T > Map < String , T > getBeansOfType ( Class < T > type , boolean includeNonSingletons , boolean allowEagerInit ) throws BeansException { } public Map < String , Object > getBeansWithAnnotation ( Class < ? extends Annotation > annotationType ) throws BeansException { } public < A extends Annotation > A findAnnotationOnBean ( String beanName , Class < A > annotationType ) { } public BeanFactory getParentBeanFactory ( ) { } public boolean containsLocalBean ( String name ) { } protected BeanFactory getInternalParentBeanFactory ( ) { }

Fix:
String [ ] weaverAwareNames = beanFactory . getBeanNamesForType ( LoadTimeWeaverAware . class , false , false ) ;