code: func (s *serfQueries) handleConflict(q *Query) {
  	// The target node name is the payload
  	node := string(q.Payload)
  
  	// Do not respond to the query if it is about us
  	if node == s.serf.config.NodeName {
  		return
  	}
  	s.logger.Printf("[DEBUG] serf: Got conflict resolution query for '%s'", node)
  
  	// Look for the member info
  	var out *Member
  	s.serf.memberLock.Lock()
  	if member, ok := s.serf.members[node]; ok {
  		out = &member.Member
  	}
  	s.serf.memberLock.Unlock()
  
  	// Encode the response
  	buf, err := encodeMessage(messageConflictResponseType, out)
  	if err != nil {
  		s.logger.Printf("[ERR] serf: Failed to encode conflict query response: %v", err)
  		return
  	}
  
  	// Send our answer
  	if err := q.Respond(buf); err != nil {
  		s.logger.Printf("[ERR] serf: Failed to respond to conflict query: %v", err)
  	}
  }
docs: // handleConflict is invoked when we get a query that is attempting to
  // disambiguate a name conflict. They payload is a node name, and the response
  // should the address we believe that node is at, if any.