code: func NewRawElementData(recorded, local, remote interface{}) RawElementData {
  	data := RawElementData{}
  	if recorded != nil {
  		data.SetRecorded(recorded)
  	}
  	if local != nil {
  		data.SetLocal(local)
  	}
  	if remote != nil {
  		data.SetRemote(remote)
  	}
  	return data
  }
docs: // NewRawElementData returns a new RawElementData, setting IsSet to true for
  // non-nil values, and leaving IsSet false for nil values.
  // Note: use this only when you want a nil-value to be considered "unspecified"
  // (ignore) and not "unset" (deleted).