code: func (r *Reference) Clone() *Reference {
  	if r == nil {
  		return nil
  	}
  	cr := *r
  	if len(cr.otherTags) != 0 {
  		cr.otherTags = make([]tagPair, len(cr.otherTags))
  	}
  	copy(cr.otherTags, r.otherTags)
  	cr.owner = nil
  	cr.id = -1
  	if r.uri != nil {
  		cr.uri = &url.URL{}
  		*cr.uri = *r.uri
  		if r.uri.User != nil {
  			cr.uri.User = &url.Userinfo{}
  			*cr.uri.User = *r.uri.User
  		}
  	}
  	return &cr
  }
docs: // Clone returns a deep copy of the Reference.