code: func (m NiceMD) Clone(copiedKeys ...string) NiceMD {
  	newMd := NiceMD(metadata.Pairs())
  	for k, vv := range m {
  		found := false
  		if len(copiedKeys) == 0 {
  			found = true
  		} else {
  			for _, allowedKey := range copiedKeys {
  				if strings.ToLower(allowedKey) == strings.ToLower(k) {
  					found = true
  					break
  				}
  			}
  		}
  		if !found {
  			continue
  		}
  		newMd[k] = make([]string, len(vv))
  		copy(newMd[k], vv)
  	}
  	return NiceMD(newMd)
  }
docs: // Clone performs a *deep* copy of the metadata.MD.
  //
  // You can specify the lower-case copiedKeys to only copy certain whitelisted keys. If no keys are explicitly whitelisted
  // all keys get copied.