code: @Override
      public void start() throws ChannelException {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.entry(tc, "start");
          }
  
          stop0Called = false;
  
          try {
              // If this is an inbound channel, we can pull out the listening host/port/endpointName.
              if (getConfig().isInbound()) {
                  // Get access to the ChainData object for future use.
                  ChainData chainData = SSLChannelProvider.getCfw().getInternalRunningChains(getConfig().getName())[0];
                  ChannelData channelData = chainData.getChannelList()[0];
                  Map<?, ?> channelProperties = channelData.getPropertyBag();
                  this.inboundHost = (String) channelProperties.get("hostname");
                  this.inboundPort = (String) channelProperties.get("port");
                  // End point name will only ever get a value when running in was. Otherwise, null is fine.
                  this.endPointName = (String) channelProperties.get("endPointName");
                  if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                      Tr.debug(tc, "inboundHost = " + this.inboundHost
                                   + " inboundPort = " + this.inboundPort
                                   + " endPointName = " + this.endPointName);
  
                  }
              }
          } catch (Exception e) {
              // no FFDC required
              if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
                  Tr.debug(tc, "Caught exception during start, throwing up stack.  " + e);
              }
              throw new ChannelException(e);
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.exit(tc, "start");
          }
      }
docs: /*
  @see com.ibm.wsspi.channelfw.Channel#start()