code: public ChannelTermination setup(ChannelData runtimeConfig, TCPChannelConfiguration tcpConfig, TCPChannelFactory factory) throws ChannelException {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.entry(tc, "setup");
          }
          this.channelFactory = factory;
          this.channelData = runtimeConfig;
          this.channelName = runtimeConfig.getName();
          this.externalName = runtimeConfig.getExternalName();
          this.config = tcpConfig;
  
          for (int i = 0; i < this.inUse.length; i++) {
              this.inUse[i] = new ConcurrentLinkedQueue<TCPConnLink>();
          }
  
          this.vcFactory = ChannelFrameworkFactory.getChannelFramework().getInboundVCFactory();
  
          this.alists = AccessLists.getInstance(this.config);
  
          if (this.config.isInbound() && acceptReqProcessor.get() == null) {
              acceptReqProcessor = StaticValue.mutateStaticValue(acceptReqProcessor, new Callable<NBAccept>() {
                  @Override
                  public NBAccept call() throws Exception {
                      return new NBAccept(TCPChannel.this.config);
                  }
  
              });
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) {
              Tr.exit(tc, "setup");
          }
          return null;
      }
docs: Initialize this channel.
  
  @param runtimeConfig
  @param tcpConfig
  @param factory
  @return ChannelTermination
  @throws ChannelException