code: public static synchronized JmsFactoryFactory getInstance() throws JMSException
    {
    	
    	if (tcInt.isEntryEnabled())
        Tr.entry(tcInt, "getInstance");
  
      if (instance == null)
      {
        
  
        try
        {
          Class cls =
            Class.forName(ApiJmsConstants.CONNFACTORY_FACTORY_CLASS);
          instance = (JmsFactoryFactory) cls.newInstance();
  
        } catch (Exception e)
        {
          // No FFDC code needed
        	if (tcInt.isDebugEnabled())
            Tr.debug(tcInt, "Unable to instantiate JmsFactoryFactory", e);
          if (tcInt.isEntryEnabled())
            Tr.exit(tcInt, "getInstance");
            
          instance = null;
                
          JMSException jmse = new JMSException(nls.getFormattedMessage("UNABLE_TO_CREATE_FACTORY_CWSIA0001",
          																			new Object[] {"JmsFactoryFactoryImpl", "sib.api.jmsImpl.jar"},
          																			"!!!Unable to instantiate JmsFactoryFactoryImpl"));
          jmse.setLinkedException(e);
          jmse.initCause(e);
          throw jmse;
  
        }
  
      }//if
  
  		if (tcInt.isEntryEnabled())
        Tr.exit(tcInt, "getInstance");
        
  		// If we get this far, then the instance is initialized, since an exception would
  		// have been thrown if it was not.
      return instance;
    }
docs: Returns a singleton instance of the JmsFactoryFactory class.<p>
  
  <!-- Javadoc'd: matrober 030903 -->
  
  @return The JmsFactoryFactory singleton object instance
  @throws JMSException If it was not possible to instantiate the implementation
  class.