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


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