code: func NewZookeeperOffsetManager(cg *ConsumerGroup, config *OffsetManagerConfig) OffsetManager {
  	if config == nil {
  		config = NewOffsetManagerConfig()
  	}
  
  	zom := &zookeeperOffsetManager{
  		config:   config,
  		cg:       cg,
  		offsets:  make(offsetsMap),
  		closing:  make(chan struct{}),
  		closed:   make(chan struct{}),
  		flush:    make(chan struct{}),
  		flushErr: make(chan error),
  	}
  
  	go zom.offsetCommitter()
  
  	return zom
  }
docs: // NewZookeeperOffsetManager returns an offset manager that uses Zookeeper
  // to store offsets.