code: func (p Policy) Equals(another Policy) bool {
  	if p.Etag != another.Etag {
  		return false
  	}
  
  	if !p.Bindings.Equals(another.Bindings) {
  		return false
  	}
  
  	if len(p.UnrecognizedFields) != len(another.UnrecognizedFields) {
  		return false
  	}
  	for k, left := range p.UnrecognizedFields {
  		right, hasIt := another.UnrecognizedFields[k]
  		if !hasIt || !isEqualRawMsg(left, right) {
  			return false
  		}
  	}
  
  	return true
  }
docs: // Equals returns true if this object is equal to another one.