code: public synchronized ChannelFactoryDataImpl findOrCreateChannelFactoryData(Class<?> type) throws ChannelFactoryException {
          ChannelFactoryDataImpl cfd = channelFactories.get(type);
          if (cfd == null) {
              ChannelFactory cf = getChannelFactoryInternal(type, false);
              Class<?>[] deviceInf = null;
              Class<?> applicationInf = null;
              try {
                  deviceInf = cf.getDeviceInterface();
              } catch (Exception e) {
                  // No FFDC Needed
              }
              try {
                  applicationInf = cf.getApplicationInterface();
              } catch (Exception e) {
                  // No FFDC Needed
              }
              cfd = new ChannelFactoryDataImpl(type, deviceInf, applicationInf);
              this.channelFactories.put(type, cfd);
          }
          return cfd;
      }
docs: is needed outside of this package.