code: func (b *Builder) AddNode(info string, capacity int, group *BuilderGroup) *BuilderNode {
  	groupIndex := 0
  	if group != nil {
  		groupIndex = group.index
  	}
  	node := &BuilderNode{builder: b, index: int(b.ring.AddNode(capacity, groupIndex)), info: info}
  	b.nodes = append(b.nodes, node)
  	return node
  }
docs: // AddNode adds another node to the builder. Info is a user-defined string and
  // is not used directly by the builder. Capacity specifies, relative to other
  // nodes, how many assignments the node should have. The group indicates which
  // group the node is in; the builder will do its best to keep similar
  // assignments in dissimilar groups. The group may be nil.