log.error("Failed to add message reference " + ref + " to state", t);
log.error("Failed to handle message", t);  ref.release();
   public Delivery handle(DeliveryObserver sender, Routable r, Transaction tx)   {      if (r == null)      {         return null;      }      if (log.isTraceEnabled()){ log.trace(this + " handles " + r + (tx == null ? " non-transactionally" : " in transaction: " + tx) ); }      MessageReference ref = ref(r);      if (tx == null)      {         Delivery del = push(null, ref);         if (del == null)         {            //Not handled                        //FIXME - Also want to do this if an exception is thrown            ref.release();         }         return del;      }      if (log.isTraceEnabled()){ log.trace("adding " + ref + " to state " + (tx == null ? "non-transactionally" : "in transaction: " + tx) ); }      try      {         state.add(ref, tx);      }      catch (Throwable t)      {         log.error("Failed to add message reference " + ref + " to state", t);         return null;      }      // I might as well return null, the sender shouldn't care      return new SimpleDelivery(sender, ref, true);   }