logger.debug("Heartbeat request failed: agent=" + hbr.getTarget() +
logger.debug("Heartbeat request failed: agent=" + target +
  public void execute() {    fireAll();    // Get HeartbeatRequests    for (Iterator it = heartbeatRequestSub.getChangedCollection().iterator(); it.hasNext();) {      HeartbeatRequest hbr = (HeartbeatRequest) it.next();      int status = hbr.getStatus();      if (status == HeartbeatRequest.ACCEPTED) {        heartbeatRequests.put(hbr.getTarget(), hbr);        heartbeatsStarted(hbr.getTarget());      } else if (status == HeartbeatRequest.FAILED || status == HeartbeatRequest.REFUSED) {        logger.debug("Heartbeat request failed: agent=" + hbr.getTarget() +                    " status=" + hbr.statusToString(hbr.getStatus()));        heartbeatFailure(hbr.getTarget());      }    }    for (Iterator it = heartbeatRequestSub.getRemovedCollection().iterator(); it.hasNext();) {      HeartbeatRequest hbr = (HeartbeatRequest) it.next();      heartbeatRequests.remove(hbr.getTarget());      heartbeatsStopped(hbr.getTarget());    }    // Get HeartbeatHealthReports    for(Iterator it = heartbeatHealthReports.getAddedCollection().iterator();        it.hasNext(); ) {      HeartbeatHealthReport hbhr = (HeartbeatHealthReport)it.next();      HeartbeatEntry hbe[] = hbhr.getHeartbeats();      for(int i = 0; i < hbe.length; i++) {        hbe[i].getSource();        logger.debug("HeartbeatTimeout: agent=" + hbe[i].getSource() +                     ", heartbeatEntry=" + hbe[i].toString());        heartbeatFailure(hbe[i].getSource());      }      blackboard.publishRemove(hbhr);    }  }