code: func (m *Manager) FindServer() *metadata.Server {
  	l := m.getServerList()
  	numServers := len(l.servers)
  	if numServers == 0 {
  		m.logger.Printf("[WARN] manager: No servers available")
  		return nil
  	}
  
  	// Return whatever is at the front of the list because it is
  	// assumed to be the oldest in the server list (unless -
  	// hypothetically - the server list was rotated right after a
  	// server was added).
  	return l.servers[0]
  }
docs: // FindServer takes out an internal "read lock" and searches through the list
  // of servers to find a "healthy" server.  If the server is actually
  // unhealthy, we rely on Serf to detect this and remove the node from the
  // server list.  If the server at the front of the list has failed or fails
  // during an RPC call, it is rotated to the end of the list.  If there are no
  // servers available, return nil.