throw new IllegalStateException("Cannot reliably carry out a reliable message delivery");
   public void add(Delivery d) throws Throwable   {      Routable r = d.getRoutable();      if (r.isReliable())      {         throw new IllegalStateException("Cannot reliably carry out a reliable message delivery");      }      if (d instanceof CompositeDelivery)      {         // TODO break CompositeDelivery in components and add them individually         throw new NotYetImplementedException("Don't know to handle composite deliveries");      }      Transaction tx = tm.getTransaction();      if (tx == null)      {         throw new IllegalStateException("No active transaction");      }      registerAddDeliverySynchronization(tx, d);   }