@Override public synchronized ReportEvent getReport() { ReportEvent rpt = new ReportEvent(getName()); Attributes.setLong(rpt, A_RETRANSMIT_TIMEOUT, retransmitTime); StringBuilder pendingAcks = new StringBuilder(); for (Map.Entry<String, Long> e : pending.entrySet()) { pendingAcks.append(e.getKey()); pendingAcks.append(":"); pendingAcks.append(new Date(e.getValue()).toString()); pendingAcks.append(", "); } Attributes.setString(rpt, A_PENDING_ACK_INFO, pendingAcks.toString()); return rpt; }