code: protected Object getInjectionObjectInstance(Object targetObject,
                                                  InjectionTargetContext targetContext)
                      throws Exception
      {
          ObjectFactory objectFactory = ivObjectFactory; // volatile-read
          InjectionObjectFactory injObjFactory = ivInjectionObjectFactory;
          if (objectFactory == null)
          {
              try
              {
                  InternalInjectionEngine ie = InjectionEngineAccessor.getInternalInstance();
                  objectFactory = ie.getObjectFactory(ivObjectFactoryClassName, ivObjectFactoryClass); // F54050
                  if (objectFactory instanceof InjectionObjectFactory) // F49213.1
                  {
                      injObjFactory = (InjectionObjectFactory) objectFactory;
                      ivInjectionObjectFactory = injObjFactory;
                  }
                  ivObjectFactory = objectFactory; // volatile-write
              } catch (Throwable ex)
              {
                  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                      Tr.debug(tc, "getInjectionObjectInstance", ex);
                  Tr.error(tc, "OBJECT_FACTORY_CLASS_FAILED_TO_LOAD_CWNEN0024E", ivObjectFactoryClassName);
                  throw new InjectionException(ex.toString(), ex);
              }
          }
  
          if (injObjFactory != null) // F49213.1
          {
              return injObjFactory.getInjectionObjectInstance((Reference) getBindingObject(),
                                                              targetObject, targetContext);
          }
  
          return objectFactory.getObjectInstance(getBindingObject(), null, null, null);
      }
docs: F48603.4