code: func (piType *PropertyItemType) MarshalJSON() ([]byte, error) {
  	var value interface{}
  	if len(piType.Scalar) != 0 {
  		value = piType.Scalar
  	} else {
  		value = piType.MultiValues
  	}
  	return json.Marshal(value)
  }
docs: // MarshalJSON to handle whichever field is set