d = receiver.handle(this, ref, null);  if (d != null) { if (d.isCancelled()) { d = null; } else { ref.incrementDeliveryCount(); } } } catch(Throwable t) {  log.error("The receiver " + receiver + " is broken", t);
ref.incrementDeliveryCount();
   private Delivery getDelivery(Receiver receiver, MessageReference ref)   {      //NOTE There should never be more than one receiver      //Eventually we wil enforce this in the design of the Channel      //but for now we just check we only have one receiver            if (receiver == null)      {         Iterator iter = router.iterator();         if (!iter.hasNext())         {            //No receivers            return null;         }         receiver = (Receiver)iter.next();         if (iter.hasNext())         {            throw new IllegalStateException("More than one consumer on a channel is not supported!!");         }      }            Delivery d = null;            try      {         d = receiver.handle(this, ref, null);         if (d != null)         {            if (d.isCancelled())            {               d = null;            }            else            {               ref.incrementDeliveryCount();            }         }         }      catch(Throwable t)      {         // broken receiver - log the exception and ignore it         log.error("The receiver " + receiver + " is broken", t);      }            return d;   }