code: public static void initialize(MessageEndpointBase proxy, XAResource xaResource, boolean recoverableXAResource, int majorJCAVer, int minorJCAVer) {// f743-7046
          synchronized (proxy) {
              if (proxy.ivState != RELEASED_STATE) {
                  proxy.ivDiscardRequired = true;
                  proxy.throwIllegalStateException("MessageEndpoint proxy used after MessageEndpoint.release was called." + " Internal state = " + proxy.ivState); // d185161
              }
              proxy.ivState = READY_STATE;
              proxy.ivXAResource = xaResource;
              proxy.ivRecoverableXAResource = recoverableXAResource;
              proxy.majorJCAVersion = majorJCAVer;
              proxy.minorJCAVersion = minorJCAVer;
          }
      }
docs: Initialize this object for option A message delivery. The MessageEndpoinFactory
  that created this instance must call this method during its createEndpoint
  processing to make the Proxy and XAResource object known to this object.
  <p>
  <dl>
  <dt>
  <b>pre-condition</b>
  <dd>
  Must be called immediately after creating a new instance or after this
  object is obtained from the Pool for reuse.
  <dd>
  Caller must ensure ivProxy is set to the MessageEndpoint proxy object
  whenever it creates a new instance of a MessageEndpointHandler object.
  <dt>
  <b>post-condition</b>
  <dd>
  Ready for option A message delivery.
  </dl>
  
  @param xaResource is the XAResource object to enlist in the transaction
  when message delivery occurs. If a null reference is passed, then
  no XAResource object is enlisted.
  
  @param recoverableXAResource must be set to true if and only
  if xaResource is an instanceof RecoverableXAResource.
  
  @param jcaVersion is the JCA version of the RA that is using the MessageEndpoint object.
  
  @throws IllegalStateException if pre-condition is violated.