docs: @Override
      public Conversation connect(InetSocketAddress remoteHost,
                                  ConversationReceiveListener arl,
                                  String chainName)
                      throws SIResourceException
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "connect", new Object[] { remoteHost, arl, chainName });
  
          if (initialisationFailed)
          {
              String nlsMsg = nls.getFormattedMessage("EXCP_CONN_FAIL_NO_CF_SICJ0007", null, null);
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
                  SibTr.debug(this, tc, "connection failed because comms failed to initialise");
              throw new SIResourceException(nlsMsg);
          }
  
          Conversation conversation = tracker.connect(remoteHost, arl, chainName, Conversation.CLIENT);
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(this, tc, "connect", conversation);
          return conversation;
      }