public void end(Xid id, int flags) throws javax.transaction.xa.XAException { if (log!=null) log.debug("End called: " + id); if (currentTr == null) {  if (log!=null) log.debug("end called with no transaction associated: " + id + ", flags: " + flags);    return; } if (mcf.lookupXid(id) != currentTr) { throw new XAException("end called with wrong xid"); } currentTr = null;
public void end(Xid id, int flags) throws javax.transaction.xa.XAException { if (flags != XAResource.TMSUSPEND && flags != XAResource.TMSUCCESS && flags != XAResource.TMFAIL) { throw new XAException(XAException.XAER_INVAL); }  if (log!=null) log.debug("End called: " + id); isc_tr_handle endingTr = mcf.getTrHandleForXid(id); if (endingTr == null) {  throw new XAException(XAException.XAER_NOTA); } if (endingTr == currentTr) { currentTr = null; } else if (flags == XAResource.TMSUSPEND) {  throw new XAException(XAException.XAER_INVAL); }
    public void end(Xid id, int flags) throws javax.transaction.xa.XAException {       if (log!=null) log.debug("End called: " + id);        if (currentTr == null) {            //XAException xae = new XAException("end called with no transaction associated");           if (log!=null) log.debug("end called with no transaction associated: " + id + ", flags: " + flags);//, new Exception());           //throw xae;           return;        }        if (mcf.lookupXid(id) != currentTr) {            throw new XAException("end called with wrong xid");        }        currentTr = null;    }