code: private Controllable createTopicMBean(Controllable c) {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(tc, "createPublicationPointMBean", new Object[] { c });
          TopicImpl pp = new TopicImpl(_me, c);
          controllableMap.put(c, pp);
          try {
              Dictionary<String, Object> properties = new Hashtable<String, Object>();
              properties.put("service.vendor", "IBM");
              String cName = c.getName();
              properties.put("jmx.objectname", "WebSphere:feature=wasJmsServer,type=Topic,name=" + cName);
              ServiceRegistration<TopicMBean> topicMBean = (ServiceRegistration<TopicMBean>) bcontext.registerService(TopicMBean.class.getName(), pp, properties);
              serviceObjects.put(cName, topicMBean);
          } catch (Exception e) {
              SibTr.exception(tc, e);
          }
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(tc, "createPublicationPointMBean", new Object[] { pp });
          return pp;
  
      }
docs: Create an instance of the required MBean and register it
  
  @param c