code: public void setObjects(Object injectionObject, Reference bindingObject)
                      throws InjectionException
      {
          final boolean isTraceOn = TraceComponent.isAnyTracingEnabled();
          if (isTraceOn && tc.isDebugEnabled())
              Tr.debug(tc, "setObjects", injectionObject, bindingObjectToString(bindingObject));
  
          ivInjectedObject = injectionObject; // d392996.3
  
          if (bindingObject != null)
          {
              ivBindingObject = bindingObject;
              ivObjectFactoryClassName = bindingObject.getFactoryClassName(); // F48603.4
              if (ivObjectFactoryClassName == null) // F54050
              {
                  throw new IllegalArgumentException("expected non-null getFactoryClassName");
              }
          }
          else
          {
              ivBindingObject = injectionObject;
          }
      }
docs: Sets the object to use for injection and the Reference to use for
  binding. Usually, the injection object is null.
  
  @param injectionObject the object to inject, or null if the object should
  be obtained from the binding object instead
  @param bindingObject the object to bind, or null if injectionObject
  should be bound directly if is non-null
  @throws InjectionException if a problem occurs while creating
  the instance to be injected