Description
A composite property type would be useful for maintaining backwards compatibility when migrating old properties or aliasing a single primary property to several secondary fields.
To achieve this the Property class could allow for defining a composite type which aliases a primary Property and an optional list of secondaryExtractProperties which can be used to set additional metadata properties with the same value as the primary.
The name of the composite property would be taken from its primary property.
The primary and secondary children of a composite property must not be composite properties themselves or a PropertyTypeException will be thrown.