if (log.isTraceEnabled()) log.trace("Transacted so returning");
   void sendMessage(Message m) throws JMSException   {      //The JMSDestination header must already have been set for each message      JBossDestination jmsDestination = (JBossDestination)m.getJMSDestination();      if (jmsDestination == null)      {         throw new IllegalStateException("JMSDestination header not set!");      }          AbstractDestination coreDestination = null;      DestinationManagerImpl dm = serverPeer.getDestinationManager();      coreDestination = dm.getCoreDestination(jmsDestination);            if (coreDestination == null)      {         throw new JMSException("Destination " + jmsDestination.getName() + " does not exist");      }            m.setJMSMessageID(generateMessageID());            //This allows the no-local consumers to filter out the messages that come from the      //same connection      //TODO Do we want to set this for ALL messages. Possibly an optimisation is possible here      ((JBossMessage)m).setConnectionID(connectionID);            boolean acked = coreDestination.handle((Routable)m);      if (coreDestination.isTransactional() && isActiveTransaction())      {         // for a transacted invocation, the return value is irrelevant         return;      }            if (!acked)      {         // under normal circumstances, this shouldn't happen, since the destination         // is supposed to hold the message for redelivery                  String msg = "The message was not acknowledged by destination " + coreDestination;         log.error(msg);         throw new JBossJMSException(msg);      }   }