code: private void handleRedundantConnect() {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.entry(tc, "handleRedundantConnect, vc=" + getVCHash());
          }
          // This conn link has already been connected.
          // Need to shut get a new SSL engine.
          cleanup();
          // PK46069 - use engine that allows session id re-use
          sslEngine = SSLUtils.getOutboundSSLEngine(
                                                    sslContext, getLinkConfig(),
                                                    targetAddress.getRemoteAddress().getHostName(),
                                                    targetAddress.getRemoteAddress().getPort(),
                                                    this);
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
              Tr.debug(tc, "New SSL engine=" + getSSLEngine().hashCode() + " for vc=" + getVCHash());
          }
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.exit(tc, "handleRedundantConnect");
          }
      }
docs: This method is called if connect or connectAsync are called redundantly, after
  the connection is already established. It cleans up the SSL engine. The connect
  methods will then pass the connect on down the chain where, eventually, a new
  socket will be established with this virtual connection.