code: public <T> T getSharedObject(String key)
     {
        TransactionContext ctx = contexts.get();
        if (ctx == null)
        {
           throw new IllegalStateException("There is no active transaction context");
        }
        XidContext xidCtx = ctx.getXidContext();
        if (xidCtx == null)
        {
           throw new IllegalStateException("There is no active xid context");
        }
        return xidCtx.getSharedObject(key);
     }
docs: Gives the shared object corresponding to the given key
  @param key the key of the shared object
  @return the corresponding shared object