if (log.isTraceEnabled()){ log.trace("attempting to deliver messages"); }
if (log.isTraceEnabled()){ log.trace("attempting to deliver channel's " + this + " messages"); }
   public void deliver()   {      if (log.isTraceEnabled()){ log.trace("attempting to deliver messages"); }      List messages = state.undelivered(null);      if (log.isTraceEnabled()){ log.trace("there are " + messages.size() + " messages to deliver"); }      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: if I crash now I could lose a persisent message         if (log.isTraceEnabled()){ log.trace("removed " + r + " from state"); }                  handleNoTx(null, r);      }   }