"You are trying to start a transaction as new " + "that is already known to this XAResource",
"You are trying to join or resume a transaction that is not known to this XAResource",
    private void findIscTrHandle(Xid xid, int flags) throws GDSException,            XAException {        // FIXME return old tr handle if it is still valid before proceeding        gdsHelper.setCurrentTrHandle(null);                AbstractIscTrHandle trHandle = (AbstractIscTrHandle) xidMap.get(xid);                if (trHandle != null) {            if (flags != XAResource.TMJOIN && flags != XAResource.TMRESUME) {                // this xid is already known, should have join or resume flag.                // DUPID might be better?                throw new FBXAException(                        "You are trying to start a transaction as new "                                + "that is already known to this XAResource",                        XAException.XAER_INVAL);            }            gdsHelper.setCurrentTrHandle(trHandle);            return;        }                if (flags != XAResource.TMNOFLAGS) {            // We don't know this xid, should come with no flags.            throw new FBXAException(                    "You are trying to resume a transaction that has is new",                    XAException.XAER_INVAL);        }                // new xid for us        trHandle = (AbstractIscTrHandle)gdsHelper.getInternalAPIHandler().createIscTrHandle();        gdsHelper.getInternalAPIHandler().iscStartTransaction(            trHandle, dbHandle, tpb.getTransactionParameterBuffer());        xidMap.put(xid, trHandle);                gdsHelper.setCurrentTrHandle(trHandle);    }