code: func NewMultiplexer(consumerFactory ConsumerFactory, producers multiplexerProducers, clientCfg *client.Config,
  	name string, log logging.Logger) *Multiplexer {
  	if clientCfg.Logger == nil {
  		clientCfg.Logger = log
  	}
  	cl := &Multiplexer{consumerFactory: consumerFactory,
  		Logger:               log,
  		name:                 name,
  		mapping:              []*consumerSubscription{},
  		multiplexerProducers: producers,
  		config:               clientCfg,
  	}
  
  	go cl.watchAsyncProducerChannels()
  	if producers.manAsyncProducer != nil && producers.manAsyncProducer.Config != nil {
  		go cl.watchManualAsyncProducerChannels()
  	}
  	return cl
  }
docs: // NewMultiplexer creates new instance of Kafka Multiplexer