<<rule>> Transform: Multiplicity-Many Containment Self-References - To - Multiplicity-One Containment-Container Self-References


<<preserve>> containerClass : EClass <<preserve>> containmentReference : EReference <<delete>> unique = "true" <<create>> unique = containmentReference_unique <<delete>> upperBound = value > 1 <<create>> upperBound = "1" <<preserve>> containment = "true" <<forbid, pre>> preContainerReference : EReference <<create>> newContainerReference : EReference <<create>> upperBound = "1" <<create>> containment = "false" <<preserve>> eType <<forbid, pre>> eOpposite <<create>> eOpposite <<forbid, pre>> eOpposite <<create>> eType <<create>> eOpposite <<preserve>> eContainingClass eStructuralFeatures <<create>> eContainingClass eStructuralFeatures