code: @Override
      public void connect(Object address) throws Exception {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.entry(tc, "connect, vc=" + getVCHash());
          }
          // Determine if this is a redundant connect.
          if (connected) {
              handleRedundantConnect();
          }
          this.targetAddress = (TCPConnectRequestContext) address;
          // Nothing specific to SSL on connect. Pass through.
          ((OutboundConnectionLink) getDeviceLink()).connect(address);
          // PK13349 - mark that we are now connected
          this.connected = true;
  
          // First check if the sslContext and sslEngine have already been set (discrimination case)
          if (sslContext == null || getSSLEngine() == null) {
              // Create a new SSL context based on the current properties in the ssl config.
              this.sslContext = getChannel().getSSLContextForOutboundLink(this, getVirtualConnection(), address);
              // Discrimination has not happened yet. Create new SSL engine.
              // PK46069 - use engine that allows session id re-use
              this.sslEngine = SSLUtils.getOutboundSSLEngine(sslContext, getLinkConfig(),
                                                             targetAddress.getRemoteAddress().getHostName(),
                                                             targetAddress.getRemoteAddress().getPort(),
                                                             this);
          }
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
              Tr.debug(tc, "SSL engine hc=" + getSSLEngine().hashCode() + " associated with vc=" + getVCHash());
          }
  
          // Now do the SSL handshake.
          readyOutbound(getVirtualConnection(), false);
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.exit(tc, "connect");
          }
      }
docs: /*
  @see com.ibm.wsspi.channelfw.base.OutboundProtocolLink#connect(java.lang.Object)