docs: @Override
      public JmsTopicConnectionFactory createTopicConnectionFactory() throws JMSException {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "createTopicConnectionFactory");
          JmsTopicConnectionFactory jmstcf = null;
  
          // get a jca managed topic connection factory, which is used to construct
          // the jms topic connection factory.
          JmsJcaManagedTopicConnectionFactory jcamtcf = JmsJcaFactory.getInstance().createManagedTopicConnectionFactory();
  
          // invoke the construction of a jms topic connection factory - the jca
          // managed topic connection factory will call back into the jms api code
          // by getting a JmsRAFactoryFactory, and calling a create jms topic
          // connection factory method on it with jca connection factory and jca
          // managed topic connection factory objects as parameters (and the jms
          // tcf will keep references to the jca cf and jca mtcf).
          try {
              jmstcf = (JmsTopicConnectionFactory) jcamtcf.createConnectionFactory();
          } catch (ResourceException re) {
              // No FFDC code needed
              // d222942 review - no documentation for when a RE will be thrown, so
              // default exception ok. (A quick look at the RA suggests the exception isn't
              // ever thrown).
              // d238447 FFDC review. Comment above suggests FFDC ok.
              throw (JMSException) JmsErrorUtils.newThrowable(
                                                              JMSException.class,
                                                              "EXCEPTION_RECEIVED_CWSIA0007",
                                                              new Object[] { re, "JmsFactoryFactoryImpl.createTopicConnectionFactory (#1)" },
                                                              re,
                                                              "JmsFactoryFactoryImpl.createTopicConnectionFactory#1",
                                                              this,
                                                              tc
                              );
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(this, tc, "createTopicConnectionFactory", jmstcf);
          return jmstcf;
      }