throw new FBXAException("Commit called with current xid",
throw new FBXAException("Commit called with non-ended xid",
    void internalCommit(Xid xid, boolean onePhase) throws XAException,            GDSException {        if (log != null) log.trace("Commit called: " + xid);        AbstractIscTrHandle committingTr = (AbstractIscTrHandle)xidMap.get(xid);        if (committingTr == null)            throw new FBXAException("Commit called with unknown transaction",                    XAException.XAER_NOTA);        if (committingTr == gdsHelper.getCurrentTrHandle())            throw new FBXAException("Commit called with current xid",                    XAException.XAER_PROTO);        try {            committingTr.forgetResultSets();            try {                gdsHelper.getInternalAPIHandler().iscCommitTransaction(committingTr);            } catch (GDSException ge) {                try {                    gdsHelper.getInternalAPIHandler().iscRollbackTransaction(committingTr);                } catch (GDSException ge2) {                    if (log != null)                        log.debug("Exception rolling back failed tx: ", ge2);                }                throw ge;            } finally {                xidMap.remove(xid);            }                    } catch (GDSException ge) {            ge.setXAErrorCode(XAException.XAER_RMERR);            throw ge;        }    }