bb.openTransaction();
  private void fail(UID reqUID) {    HeartbeatRequest req = (HeartbeatRequest)reqTable.findUniqueObject(reqUID);    if (req != null) {        if (req.getStatus() == HeartbeatRequest.SENT) {         bb.openTransaction();        req.setStatus(HeartbeatRequest.FAILED);        reqTable.remove(req);        UID hbReqUID = req.getHbReqUID();        Iterator iter = hbReqSub.getCollection().iterator();        while (iter.hasNext()) {          HbReq hbReq = (HbReq)iter.next();          if (hbReq.getUID().equals(hbReqUID)) {            if (log.isDebugEnabled())              log.debug("fail: publishRemove HbReq = " + hbReq);            bb.publishRemove(hbReq);          }        }         if (log.isDebugEnabled())           log.debug("fail: publishChange HeartbeatRequest = " + req);        bb.publishChange(req);        bb.closeTransaction();      }    }  }