private MapMessage newMapMessage(Map<String, Object> body) throws JMSException {
   MapMessage message = new MapMessageImpl();
   for (String key : body.keySet()) {
     Object value = body.get(key);
     message.setObject(key, value);
   }
   return message;
 }
    @Override
    protected Message createMessage(int i) throws Exception {
      TextMessage msg = createTextMessage(this.session, "Message-" + i);
      if (selectors.size() > 0) {
        String value = getRandomKey();
        msg.setStringProperty("SYMBOL", value);
        AtomicInteger currentCount = selectorCounts.get(value);
        currentCount.incrementAndGet();
      }

      return msg;
    }
 public int getCountForProperty(String key) {
   return selectorCounts.get(key).get();
 }