code: func (cg *Consumergroup) PartitionOwner(topic string, partition int32) (*ConsumergroupInstance, error) {
  	node := fmt.Sprintf("%s/consumers/%s/owners/%s/%d", cg.kz.conf.Chroot, cg.Name, topic, partition)
  	val, _, err := cg.kz.conn.Get(node)
  
  	// If the node does not exists, nobody has claimed it.
  	switch err {
  	case nil:
  		return &ConsumergroupInstance{cg: cg, ID: string(val)}, nil
  	case zk.ErrNoNode:
  		return nil, nil
  	default:
  		return nil, err
  	}
  }
docs: // PartitionOwner returns the ConsumergroupInstance that has claimed the given partition.
  // This can be nil if nobody has claimed it yet.