code: func (c *cluster) addNodeBasicSorted(node *Node) bool {
  	n := c.unprotectedNodeByID(node.ID)
  	if n != nil {
  		if n.State != node.State || n.IsCoordinator != node.IsCoordinator || n.URI != node.URI {
  			n.State = node.State
  			n.IsCoordinator = node.IsCoordinator
  			n.URI = node.URI
  			return true
  		}
  		return false
  	}
  
  	c.nodes = append(c.nodes, node)
  
  	// All hosts must be merged in the same order on all nodes in the cluster.
  	sort.Sort(byID(c.nodes))
  
  	return true
  }
docs: // addNodeBasicSorted adds a node to the cluster, sorted by id. Returns a
  // pointer to the node and true if the node was added. unprotected.