public PropertyParameter Merge(PropertyParameter mergee, PropertyParameter original) { switch (original.Property) { case ObjectProperty.Location: return(MergeLocation(mergee, original)); default: throw new NotImplementedException($"Don't know how to merge property {original.Property} with {mergee.Property}."); } }
private PropertyParameter MergeLocation(PropertyParameter mergee, PropertyParameter original) { switch (mergee.Property) { case ObjectProperty.LocationName: ((Location)original.Value).Label = mergee.Value?.ToString(); return(original); default: throw new NotImplementedException($"Don't know how to merge property {original.Property} with {mergee.Property}."); } }