code: func (c *cluster) ShardNodes(index string, shard uint64) []*Node {
  	c.mu.RLock()
  	defer c.mu.RUnlock()
  	return c.shardNodes(index, shard)
  }
docs: // ShardNodes returns a list of nodes that own a fragment. Safe for concurrent use.