code: public int prepare(Xid xid) throws XAException
     {
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(this, tc, "prepare", xid);
  
        final int result = internalPrepare(xid);
        
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(this, tc, "prepare", ""+result);
        return result;
     }
docs: Called when the transaction manager would like us to
  prepare to complete the transaction.
  <p>
  Across the wire we will flow:
  <p>
  BIT32    Transaction Id
  The XID Structure
  
  @param xid
  
  @return Returns the result of the resource manager's vote on whether
  we can commit. This will be XA_RDONLY if we have done no work
  as part of this transaction, or XA_OK.
  
  @throws XAException if an exception is thrown at the ME. In the
  event of a comms failure, an XAException with XAER_RMFAIL will
  be thrown.