code: func (c *cluster) containsShards(index string, availableShards *roaring.Bitmap, node *Node) []uint64 {
  	var shards []uint64
  	availableShards.ForEach(func(i uint64) {
  		p := c.partition(index, i)
  		// Determine the nodes for partition.
  		nodes := c.partitionNodes(p)
  		for _, n := range nodes {
  			if n.ID == node.ID {
  				shards = append(shards, i)
  			}
  		}
  	})
  	return shards
  }
docs: // containsShards is like OwnsShards, but it includes replicas.