code: @Override
    public Object buildBean(String beanName, Map<String, Object> extraContext, boolean injectInternal)
        throws Exception {
      Object bean = null;
      if (context.contains(beanName)) bean = context.getBean(beanName).get();
      else bean = buildBean(getClassInstance(beanName), extraContext);
      return bean;
    }
docs: Looks up beans using application context before falling back to the method defined
  in the {@link ObjectFactory}.
  
  @param beanName The name of the bean to look up in the application context
  @param extraContext
  @return A bean from context or the result of calling the overridden
  method.
  @throws Exception