docs: public SSLContext getSSLContextForOutboundLink(SSLConnectionLink link, VirtualConnection vc, Object address) throws ChannelException {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.entry(tc, "getSSLContextForOutboundLink");
          }
          TCPConnectRequestContext tcpRequest = (TCPConnectRequestContext) address;
          InetSocketAddress socket = tcpRequest.getRemoteAddress();
          // Determine the protocol of the outbound connection. Default to HTTP.
          String protocol = Constants.ENDPOINT_HTTP;
          // Look for a protocol set in the state map of the VC.
          String mapProtocol = (String) vc.getStateMap().get(OutboundProtocol.PROTOCOL);
          if (mapProtocol != null) {
              // Found the protocol specified in the VC state map.
              protocol = mapProtocol;
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                  Tr.debug(tc, "OutboundProtocol=" + protocol + " specified by in VC");
              }
          } else {
              // Check for the interface which provides this information.
              Object channelAccessor = ((OutboundVirtualConnection) vc).getChannelAccessor();
              if (channelAccessor instanceof OutboundProtocol) {
                  protocol = ((OutboundProtocol) channelAccessor).getProtocol();
                  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                      Tr.debug(tc, "OutboundProtocol=" + protocol + " specified by " + channelAccessor.getClass().getName());
                  }
              }
          }
          SSLContext context = getSSLContextForLink(vc, socket.getHostName(), Integer.toString(socket.getPort()), protocol, Boolean.FALSE, link);
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.exit(tc, "getSSLContextForOutboundLink");
          }
          return context;
      }