if (log.isTraceEnabled()) { log.trace("routable " + r + " is already a reference"); } return (MessageReference)r;
throw new IllegalStateException(this + " does not accept reliable messages (" + m + ")");
   public MessageReference reference(Routable r)   {      if (r.isReference())      {         if (log.isTraceEnabled()) { log.trace("routable " + r + " is already a reference"); }         return (MessageReference)r;      }      if (r.isReliable() && !acceptReliableMessages)      {          throw new IllegalStateException(this + " does not accept reliable messages (" + r + ")");      }      if (log.isTraceEnabled()) { log.trace(this + " referencing " + r); }      MessageReference ref = getReference(r.getMessageID());      if (ref == null)      {         ref = createReference((Message)r);      }      return ref;   }