code: public Topic getTopic(String topicName) throws ServiceLocatorException {
      Topic topic = null;
      try {
        if (cache.containsKey(topicName)) {
          topic = (Topic) cache.get(topicName);
        } else {
          topic = (Topic) ic.lookup(topicName);
          cache.put(topicName, topic);
        }
      } catch (NamingException ne) {
        throw new ServiceLocatorException(ne);
      } catch (Exception e) {
        throw new ServiceLocatorException(e);
      }
      return topic;
    }
docs: This method obtains the topc itself for a caller
  @return the Topic Destination to send messages to