docs: protected Conversation connect(InetSocketAddress remoteAddress,
                                     String chainName,
                                     ConversationReceiveListener conversationReceiveListener,
                                     Conversation.ConversationType conversationType)
                      throws SIResourceException
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "connect", new Object[] { remoteAddress, chainName, conversationReceiveListener, conversationType });
  
          // Paranoia: check that this group was intended for chainname style of operation (i.e., a NetworkConnectionFactory WAS provided on construction)
          if (!!!currentConnectionFactoryFactory.isNonNull())
          {
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  SibTr.debug(this, tc, "type of endpoint does not match group");
              throw new SIErrorException(nls.getFormattedMessage("CONNDATAGROUP_INTERNAL_SICJ0062", null, "CONNDATAGROUP_INTERNAL_SICJ0062")); // D226223
          }
  
          JFapAddressHolder jfapAddressHolder = new JFapAddressHolder(remoteAddress, conversationType);
          Conversation retConversation = doConnect(conversationReceiveListener, ConversationUsageType.JFAP, jfapAddressHolder, currentConnectionFactoryFactory);
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(this, tc, "connect", retConversation);
          return retConversation;
      }