{  ref = ms.reference((Message)r);
{  ref = ((MessageReference)r).copy();
   protected MessageReference obtainReference(Routable r)   {      MessageReference ref = null;      // Convert to reference      try      {         if (r.isReference())         {            // Make a copy - each channel has it's own copy of the reference - this is becaause            // the headers for a particular message may vary depending on what channel it is in -            // e.g. deliveryCount            ref = ((MessageReference)r).copy();         }         else         {            // Reference it for the first time            ref = ms.reference((Message)r);         }               return ref;      }      catch (Exception e)      {         log.error("Failed to reference routable", e);         //FIXME - Swallowing exceptions         return null;      }         }