public void deliver()
public void deliver(Receiver r)
   public void deliver()   {      if (log.isTraceEnabled()){ log.trace("attempting to deliver " + this + "'s messages"); }      List messages = state.undelivered(null);      for(Iterator i = messages.iterator(); i.hasNext(); )      {         MessageReference r = (MessageReference)i.next();         try         {            state.remove(r);         }         catch (Throwable t)         {            log.error("Failed to remove ref", t);            return;         }         // TODO for a reliable message this is dangerous, I can lose the persistent message if I crash now?         if (log.isTraceEnabled()){ log.trace("removed " + r + " from state"); }                  handleNoTx(null, null, r);      }   }