Package can extend other packages and inherit their elements. This reference is required because
extends reference is already defined in PackageElement as derived and immutable. For top-level packages
extends is the same as this reference. For nested packages
extends is a union of containment-derived extensions and this reference.
Package own elements override inherited elements with the same keys. To suppress an inheriIted element define an element with the same key and
Multiple inheritance allows to have “mix-in” packages. For example, the primary lineage can follow the organizational hierarchy with base packages defining generic flows and then specializing at the lower levels of the organization, say to specific tools. Then there can be a technology tree, for example different cloud platforms. A set of flows defining development processes for a particular organization and a particular cloud technology would be a mix of the two inheritance hierarchies.