Complete unit tests for CRUD + necessary updates

Change-Id: I885d527a447037e63116c1e562588e10017f7848
diff --git a/plugins/org.eclipse.emf.henshin.variability.test/data/java/vb.henshin b/plugins/org.eclipse.emf.henshin.variability.test/data/java/vb.henshin
index 9a28632..d60436a 100644
--- a/plugins/org.eclipse.emf.henshin.variability.test/data/java/vb.henshin
+++ b/plugins/org.eclipse.emf.henshin.variability.test/data/java/vb.henshin
@@ -70,4 +70,277 @@
     <mappings xmi:id="_pOe34BG6Eeqxptn-OOol6g" origin="_pOdpwBG6Eeqxptn-OOol6g" image="_pOeQ0BG6Eeqxptn-OOol6g"/>
     <mappings xmi:id="_wMfy4RG6Eeqxptn-OOol6g" origin="_wMfL0BG6Eeqxptn-OOol6g" image="_wMfy4BG6Eeqxptn-OOol6g"/>
   </units>
+  <units xsi:type="henshin:Rule" xmi:id="_0rWAkCTxEeqQuPO741JcQw" name="create1">
+    <annotations xmi:id="_0rWAkSTxEeqQuPO741JcQw" key="featureModel" value="(M and not F) or (not M and F)"/>
+    <annotations xmi:id="_0rWAkiTxEeqQuPO741JcQw" key="injectiveMatchingPresenceCondition" value=""/>
+    <annotations xmi:id="_0rWAkyTxEeqQuPO741JcQw" key="features" value="M, F"/>
+    <lhs xmi:id="_0rWAlCTxEeqQuPO741JcQw" name="Lhs">
+      <nodes xmi:id="_0rWAlSTxEeqQuPO741JcQw" outgoing="_0rWAnSTxEeqQuPO741JcQw _0rWAnyTxEeqQuPO741JcQw _0rWAoSTxEeqQuPO741JcQw">
+        <annotations xmi:id="_0rWAliTxEeqQuPO741JcQw" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Class"/>
+      </nodes>
+      <nodes xmi:id="_0rWAlyTxEeqQuPO741JcQw" incoming="_0rWAnSTxEeqQuPO741JcQw">
+        <annotations xmi:id="_0rWAmCTxEeqQuPO741JcQw" key="presenceCondition" value="M"/>
+        <type href="Java.ecore#//Method"/>
+      </nodes>
+      <nodes xmi:id="_0rWAmSTxEeqQuPO741JcQw" incoming="_0rWAnyTxEeqQuPO741JcQw">
+        <annotations xmi:id="_0rWAmiTxEeqQuPO741JcQw" key="presenceCondition" value="F"/>
+        <type href="Java.ecore#//Field"/>
+      </nodes>
+      <nodes xmi:id="_0rWAmyTxEeqQuPO741JcQw" incoming="_0rWAoSTxEeqQuPO741JcQw">
+        <annotations xmi:id="_0rWAnCTxEeqQuPO741JcQw" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Method"/>
+      </nodes>
+      <edges xmi:id="_0rWAnSTxEeqQuPO741JcQw" source="_0rWAlSTxEeqQuPO741JcQw" target="_0rWAlyTxEeqQuPO741JcQw">
+        <annotations xmi:id="_0rWAniTxEeqQuPO741JcQw" key="presenceCondition" value="M"/>
+        <type href="Java.ecore#//Class/methods"/>
+      </edges>
+      <edges xmi:id="_0rWAnyTxEeqQuPO741JcQw" source="_0rWAlSTxEeqQuPO741JcQw" target="_0rWAmSTxEeqQuPO741JcQw">
+        <annotations xmi:id="_0rWAoCTxEeqQuPO741JcQw" key="presenceCondition" value="F"/>
+        <type href="Java.ecore#//Class/fields"/>
+      </edges>
+      <edges xmi:id="_0rWAoSTxEeqQuPO741JcQw" source="_0rWAlSTxEeqQuPO741JcQw" target="_0rWAmyTxEeqQuPO741JcQw">
+        <annotations xmi:id="_0rWAoiTxEeqQuPO741JcQw" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Class/methods"/>
+      </edges>
+    </lhs>
+    <rhs xmi:id="_0rWAoyTxEeqQuPO741JcQw" name="Rhs">
+      <nodes xmi:id="_0rWApCTxEeqQuPO741JcQw" outgoing="_0rWArCTxEeqQuPO741JcQw _0rWAriTxEeqQuPO741JcQw _0rWAsCTxEeqQuPO741JcQw">
+        <annotations xmi:id="_0rWApSTxEeqQuPO741JcQw" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Class"/>
+      </nodes>
+      <nodes xmi:id="_0rWApiTxEeqQuPO741JcQw" incoming="_0rWArCTxEeqQuPO741JcQw">
+        <annotations xmi:id="_0rWApyTxEeqQuPO741JcQw" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Method"/>
+      </nodes>
+      <nodes xmi:id="_0rWAqCTxEeqQuPO741JcQw" incoming="_0rWAriTxEeqQuPO741JcQw">
+        <annotations xmi:id="_0rWAqSTxEeqQuPO741JcQw" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Field"/>
+      </nodes>
+      <nodes xmi:id="_0rWAqiTxEeqQuPO741JcQw" incoming="_0rWAsCTxEeqQuPO741JcQw" outgoing="_akKm4CTyEeqmvcN2WI4rvQ">
+        <annotations xmi:id="_0rWAqyTxEeqQuPO741JcQw" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Method"/>
+      </nodes>
+      <nodes xmi:id="_7tIoUCTxEeqQuPO741JcQw" incoming="_akKm4CTyEeqmvcN2WI4rvQ">
+        <annotations xmi:id="_7tMSsCTxEeqQuPO741JcQw" key="presenceCondition" value="F"/>
+        <type href="Java.ecore#//Annotation"/>
+      </nodes>
+      <edges xmi:id="_0rWArCTxEeqQuPO741JcQw" source="_0rWApCTxEeqQuPO741JcQw" target="_0rWApiTxEeqQuPO741JcQw">
+        <annotations xmi:id="_0rWArSTxEeqQuPO741JcQw" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Class/methods"/>
+      </edges>
+      <edges xmi:id="_0rWAriTxEeqQuPO741JcQw" source="_0rWApCTxEeqQuPO741JcQw" target="_0rWAqCTxEeqQuPO741JcQw">
+        <annotations xmi:id="_0rWAryTxEeqQuPO741JcQw" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Class/fields"/>
+      </edges>
+      <edges xmi:id="_0rWAsCTxEeqQuPO741JcQw" source="_0rWApCTxEeqQuPO741JcQw" target="_0rWAqiTxEeqQuPO741JcQw">
+        <annotations xmi:id="_0rWAsSTxEeqQuPO741JcQw" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Class/methods"/>
+      </edges>
+      <edges xmi:id="_akKm4CTyEeqmvcN2WI4rvQ" source="_0rWAqiTxEeqQuPO741JcQw" target="_7tIoUCTxEeqQuPO741JcQw">
+        <annotations xmi:id="_akPfYCTyEeqmvcN2WI4rvQ" key="presenceCondition" value="F"/>
+        <type href="Java.ecore#//Method/annotation"/>
+      </edges>
+    </rhs>
+    <mappings xmi:id="_0rWAsiTxEeqQuPO741JcQw" origin="_0rWAlSTxEeqQuPO741JcQw" image="_0rWApCTxEeqQuPO741JcQw"/>
+    <mappings xmi:id="_0rWAsyTxEeqQuPO741JcQw" origin="_0rWAlyTxEeqQuPO741JcQw" image="_0rWApiTxEeqQuPO741JcQw"/>
+    <mappings xmi:id="_0rWAtCTxEeqQuPO741JcQw" origin="_0rWAmSTxEeqQuPO741JcQw" image="_0rWAqCTxEeqQuPO741JcQw"/>
+    <mappings xmi:id="_0rWAtSTxEeqQuPO741JcQw" origin="_0rWAmyTxEeqQuPO741JcQw" image="_0rWAqiTxEeqQuPO741JcQw"/>
+  </units>
+  <units xsi:type="henshin:Rule" xmi:id="_52y8UCTyEeqmvcN2WI4rvQ" name="create2">
+    <annotations xmi:id="_52y8USTyEeqmvcN2WI4rvQ" key="featureModel" value="(M and not F) or (not M and F)"/>
+    <annotations xmi:id="_52y8UiTyEeqmvcN2WI4rvQ" key="injectiveMatchingPresenceCondition" value=""/>
+    <annotations xmi:id="_52y8UyTyEeqmvcN2WI4rvQ" key="features" value="M, F"/>
+    <lhs xmi:id="_52y8VCTyEeqmvcN2WI4rvQ" name="Lhs">
+      <nodes xmi:id="_52y8VSTyEeqmvcN2WI4rvQ" outgoing="_52y8XSTyEeqmvcN2WI4rvQ _52y8XyTyEeqmvcN2WI4rvQ _52y8YSTyEeqmvcN2WI4rvQ">
+        <annotations xmi:id="_52y8ViTyEeqmvcN2WI4rvQ" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Class"/>
+      </nodes>
+      <nodes xmi:id="_52y8VyTyEeqmvcN2WI4rvQ" incoming="_52y8XSTyEeqmvcN2WI4rvQ">
+        <annotations xmi:id="_52y8WCTyEeqmvcN2WI4rvQ" key="presenceCondition" value="M"/>
+        <type href="Java.ecore#//Method"/>
+      </nodes>
+      <nodes xmi:id="_52y8WSTyEeqmvcN2WI4rvQ" incoming="_52y8XyTyEeqmvcN2WI4rvQ">
+        <annotations xmi:id="_52y8WiTyEeqmvcN2WI4rvQ" key="presenceCondition" value="F"/>
+        <type href="Java.ecore#//Field"/>
+      </nodes>
+      <nodes xmi:id="_52y8WyTyEeqmvcN2WI4rvQ" incoming="_52y8YSTyEeqmvcN2WI4rvQ">
+        <annotations xmi:id="_52y8XCTyEeqmvcN2WI4rvQ" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Method"/>
+      </nodes>
+      <edges xmi:id="_52y8XSTyEeqmvcN2WI4rvQ" source="_52y8VSTyEeqmvcN2WI4rvQ" target="_52y8VyTyEeqmvcN2WI4rvQ">
+        <annotations xmi:id="_52y8XiTyEeqmvcN2WI4rvQ" key="presenceCondition" value="M"/>
+        <type href="Java.ecore#//Class/methods"/>
+      </edges>
+      <edges xmi:id="_52y8XyTyEeqmvcN2WI4rvQ" source="_52y8VSTyEeqmvcN2WI4rvQ" target="_52y8WSTyEeqmvcN2WI4rvQ">
+        <annotations xmi:id="_52y8YCTyEeqmvcN2WI4rvQ" key="presenceCondition" value="F"/>
+        <type href="Java.ecore#//Class/fields"/>
+      </edges>
+      <edges xmi:id="_52y8YSTyEeqmvcN2WI4rvQ" source="_52y8VSTyEeqmvcN2WI4rvQ" target="_52y8WyTyEeqmvcN2WI4rvQ">
+        <annotations xmi:id="_52y8YiTyEeqmvcN2WI4rvQ" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Class/methods"/>
+      </edges>
+    </lhs>
+    <rhs xmi:id="_52y8YyTyEeqmvcN2WI4rvQ" name="Rhs">
+      <nodes xmi:id="_52y8ZCTyEeqmvcN2WI4rvQ" outgoing="_52y8biTyEeqmvcN2WI4rvQ _52y8cCTyEeqmvcN2WI4rvQ _52y8ciTyEeqmvcN2WI4rvQ">
+        <annotations xmi:id="_52y8ZSTyEeqmvcN2WI4rvQ" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Class"/>
+      </nodes>
+      <nodes xmi:id="_52y8ZiTyEeqmvcN2WI4rvQ" incoming="_52y8biTyEeqmvcN2WI4rvQ">
+        <annotations xmi:id="_52y8ZyTyEeqmvcN2WI4rvQ" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Method"/>
+      </nodes>
+      <nodes xmi:id="_52y8aCTyEeqmvcN2WI4rvQ" incoming="_52y8cCTyEeqmvcN2WI4rvQ">
+        <annotations xmi:id="_52y8aSTyEeqmvcN2WI4rvQ" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Field"/>
+      </nodes>
+      <nodes xmi:id="_52y8aiTyEeqmvcN2WI4rvQ" incoming="_52y8ciTyEeqmvcN2WI4rvQ" outgoing="_52y8dCTyEeqmvcN2WI4rvQ">
+        <annotations xmi:id="_52y8ayTyEeqmvcN2WI4rvQ" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Method"/>
+      </nodes>
+      <nodes xmi:id="_52y8bCTyEeqmvcN2WI4rvQ" incoming="_52y8dCTyEeqmvcN2WI4rvQ">
+        <annotations xmi:id="_52y8bSTyEeqmvcN2WI4rvQ" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Annotation"/>
+      </nodes>
+      <edges xmi:id="_52y8biTyEeqmvcN2WI4rvQ" source="_52y8ZCTyEeqmvcN2WI4rvQ" target="_52y8ZiTyEeqmvcN2WI4rvQ">
+        <annotations xmi:id="_52y8byTyEeqmvcN2WI4rvQ" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Class/methods"/>
+      </edges>
+      <edges xmi:id="_52y8cCTyEeqmvcN2WI4rvQ" source="_52y8ZCTyEeqmvcN2WI4rvQ" target="_52y8aCTyEeqmvcN2WI4rvQ">
+        <annotations xmi:id="_52y8cSTyEeqmvcN2WI4rvQ" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Class/fields"/>
+      </edges>
+      <edges xmi:id="_52y8ciTyEeqmvcN2WI4rvQ" source="_52y8ZCTyEeqmvcN2WI4rvQ" target="_52y8aiTyEeqmvcN2WI4rvQ">
+        <annotations xmi:id="_52y8cyTyEeqmvcN2WI4rvQ" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Class/methods"/>
+      </edges>
+      <edges xmi:id="_52y8dCTyEeqmvcN2WI4rvQ" source="_52y8aiTyEeqmvcN2WI4rvQ" target="_52y8bCTyEeqmvcN2WI4rvQ">
+        <annotations xmi:id="_52y8dSTyEeqmvcN2WI4rvQ" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Method/annotation"/>
+      </edges>
+    </rhs>
+    <mappings xmi:id="_52y8diTyEeqmvcN2WI4rvQ" origin="_52y8VSTyEeqmvcN2WI4rvQ" image="_52y8ZCTyEeqmvcN2WI4rvQ"/>
+    <mappings xmi:id="_52y8dyTyEeqmvcN2WI4rvQ" origin="_52y8VyTyEeqmvcN2WI4rvQ" image="_52y8ZiTyEeqmvcN2WI4rvQ"/>
+    <mappings xmi:id="_52y8eCTyEeqmvcN2WI4rvQ" origin="_52y8WSTyEeqmvcN2WI4rvQ" image="_52y8aCTyEeqmvcN2WI4rvQ"/>
+    <mappings xmi:id="_52y8eSTyEeqmvcN2WI4rvQ" origin="_52y8WyTyEeqmvcN2WI4rvQ" image="_52y8aiTyEeqmvcN2WI4rvQ"/>
+  </units>
+  <units xsi:type="henshin:Rule" xmi:id="_SrasgCTzEeqmvcN2WI4rvQ" name="delete1">
+    <annotations xmi:id="_SrasgSTzEeqmvcN2WI4rvQ" key="featureModel" value="(M and not F) or (not M and F)"/>
+    <annotations xmi:id="_SrasgiTzEeqmvcN2WI4rvQ" key="injectiveMatchingPresenceCondition" value=""/>
+    <annotations xmi:id="_SrasgyTzEeqmvcN2WI4rvQ" key="features" value="M, F"/>
+    <lhs xmi:id="_SrashCTzEeqmvcN2WI4rvQ" name="Lhs">
+      <nodes xmi:id="_SrashSTzEeqmvcN2WI4rvQ" outgoing="_SrasjSTzEeqmvcN2WI4rvQ _SrasjyTzEeqmvcN2WI4rvQ _SraskSTzEeqmvcN2WI4rvQ">
+        <annotations xmi:id="_SrashiTzEeqmvcN2WI4rvQ" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Class"/>
+      </nodes>
+      <nodes xmi:id="_SrashyTzEeqmvcN2WI4rvQ" incoming="_SrasjSTzEeqmvcN2WI4rvQ">
+        <annotations xmi:id="_SrasiCTzEeqmvcN2WI4rvQ" key="presenceCondition" value="M"/>
+        <type href="Java.ecore#//Method"/>
+      </nodes>
+      <nodes xmi:id="_SrasiSTzEeqmvcN2WI4rvQ" incoming="_SrasjyTzEeqmvcN2WI4rvQ">
+        <annotations xmi:id="_SrasiiTzEeqmvcN2WI4rvQ" key="presenceCondition" value="F"/>
+        <type href="Java.ecore#//Field"/>
+      </nodes>
+      <nodes xmi:id="_SrasiyTzEeqmvcN2WI4rvQ" incoming="_SraskSTzEeqmvcN2WI4rvQ">
+        <annotations xmi:id="_SrasjCTzEeqmvcN2WI4rvQ" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Method"/>
+      </nodes>
+      <edges xmi:id="_SrasjSTzEeqmvcN2WI4rvQ" source="_SrashSTzEeqmvcN2WI4rvQ" target="_SrashyTzEeqmvcN2WI4rvQ">
+        <annotations xmi:id="_SrasjiTzEeqmvcN2WI4rvQ" key="presenceCondition" value="M"/>
+        <type href="Java.ecore#//Class/methods"/>
+      </edges>
+      <edges xmi:id="_SrasjyTzEeqmvcN2WI4rvQ" source="_SrashSTzEeqmvcN2WI4rvQ" target="_SrasiSTzEeqmvcN2WI4rvQ">
+        <annotations xmi:id="_SraskCTzEeqmvcN2WI4rvQ" key="presenceCondition" value="F"/>
+        <type href="Java.ecore#//Class/fields"/>
+      </edges>
+      <edges xmi:id="_SraskSTzEeqmvcN2WI4rvQ" source="_SrashSTzEeqmvcN2WI4rvQ" target="_SrasiyTzEeqmvcN2WI4rvQ">
+        <annotations xmi:id="_SraskiTzEeqmvcN2WI4rvQ" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Class/methods"/>
+      </edges>
+    </lhs>
+    <rhs xmi:id="_SraskyTzEeqmvcN2WI4rvQ" name="Rhs">
+      <nodes xmi:id="_SraslCTzEeqmvcN2WI4rvQ" outgoing="_SrasnCTzEeqmvcN2WI4rvQ _SrasoCTzEeqmvcN2WI4rvQ">
+        <annotations xmi:id="_SraslSTzEeqmvcN2WI4rvQ" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Class"/>
+      </nodes>
+      <nodes xmi:id="_SrasliTzEeqmvcN2WI4rvQ" incoming="_SrasnCTzEeqmvcN2WI4rvQ">
+        <annotations xmi:id="_SraslyTzEeqmvcN2WI4rvQ" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Method"/>
+      </nodes>
+      <nodes xmi:id="_SrasmiTzEeqmvcN2WI4rvQ" incoming="_SrasoCTzEeqmvcN2WI4rvQ">
+        <annotations xmi:id="_SrasmyTzEeqmvcN2WI4rvQ" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Method"/>
+      </nodes>
+      <edges xmi:id="_SrasnCTzEeqmvcN2WI4rvQ" source="_SraslCTzEeqmvcN2WI4rvQ" target="_SrasliTzEeqmvcN2WI4rvQ">
+        <annotations xmi:id="_SrasnSTzEeqmvcN2WI4rvQ" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Class/methods"/>
+      </edges>
+      <edges xmi:id="_SrasoCTzEeqmvcN2WI4rvQ" source="_SraslCTzEeqmvcN2WI4rvQ" target="_SrasmiTzEeqmvcN2WI4rvQ">
+        <annotations xmi:id="_SrasoSTzEeqmvcN2WI4rvQ" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Class/methods"/>
+      </edges>
+    </rhs>
+    <mappings xmi:id="_SrasoiTzEeqmvcN2WI4rvQ" origin="_SrashSTzEeqmvcN2WI4rvQ" image="_SraslCTzEeqmvcN2WI4rvQ"/>
+    <mappings xmi:id="_SrasoyTzEeqmvcN2WI4rvQ" origin="_SrashyTzEeqmvcN2WI4rvQ" image="_SrasliTzEeqmvcN2WI4rvQ"/>
+    <mappings xmi:id="_SraspSTzEeqmvcN2WI4rvQ" origin="_SrasiyTzEeqmvcN2WI4rvQ" image="_SrasmiTzEeqmvcN2WI4rvQ"/>
+  </units>
+  <units xsi:type="henshin:Rule" xmi:id="_Z6vIACT1EeqBU_anwUtFuQ" name="delete2">
+    <annotations xmi:id="_Z6vIAST1EeqBU_anwUtFuQ" key="featureModel" value="(M and not F) or (not M and F)"/>
+    <annotations xmi:id="_Z6vIAiT1EeqBU_anwUtFuQ" key="injectiveMatchingPresenceCondition" value=""/>
+    <annotations xmi:id="_Z6vIAyT1EeqBU_anwUtFuQ" key="features" value="M, F"/>
+    <lhs xmi:id="_Z6vIBCT1EeqBU_anwUtFuQ" name="Lhs">
+      <nodes xmi:id="_Z6vIBST1EeqBU_anwUtFuQ" outgoing="_Z6vIDST1EeqBU_anwUtFuQ _Z6vIDyT1EeqBU_anwUtFuQ _Z6vIEST1EeqBU_anwUtFuQ">
+        <annotations xmi:id="_Z6vIBiT1EeqBU_anwUtFuQ" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Class"/>
+      </nodes>
+      <nodes xmi:id="_Z6vIByT1EeqBU_anwUtFuQ" incoming="_Z6vIDST1EeqBU_anwUtFuQ">
+        <annotations xmi:id="_Z6vICCT1EeqBU_anwUtFuQ" key="presenceCondition" value="M"/>
+        <type href="Java.ecore#//Method"/>
+      </nodes>
+      <nodes xmi:id="_Z6vICST1EeqBU_anwUtFuQ" incoming="_Z6vIDyT1EeqBU_anwUtFuQ">
+        <annotations xmi:id="_Z6vICiT1EeqBU_anwUtFuQ" key="presenceCondition" value="F"/>
+        <type href="Java.ecore#//Field"/>
+      </nodes>
+      <nodes xmi:id="_Z6vICyT1EeqBU_anwUtFuQ" incoming="_Z6vIEST1EeqBU_anwUtFuQ">
+        <annotations xmi:id="_Z6vIDCT1EeqBU_anwUtFuQ" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Method"/>
+      </nodes>
+      <edges xmi:id="_Z6vIDST1EeqBU_anwUtFuQ" source="_Z6vIBST1EeqBU_anwUtFuQ" target="_Z6vIByT1EeqBU_anwUtFuQ">
+        <annotations xmi:id="_Z6vIDiT1EeqBU_anwUtFuQ" key="presenceCondition" value="M"/>
+        <type href="Java.ecore#//Class/methods"/>
+      </edges>
+      <edges xmi:id="_Z6vIDyT1EeqBU_anwUtFuQ" source="_Z6vIBST1EeqBU_anwUtFuQ" target="_Z6vICST1EeqBU_anwUtFuQ">
+        <annotations xmi:id="_Z6vIECT1EeqBU_anwUtFuQ" key="presenceCondition" value="F"/>
+        <type href="Java.ecore#//Class/fields"/>
+      </edges>
+      <edges xmi:id="_Z6vIEST1EeqBU_anwUtFuQ" source="_Z6vIBST1EeqBU_anwUtFuQ" target="_Z6vICyT1EeqBU_anwUtFuQ">
+        <annotations xmi:id="_Z6vIEiT1EeqBU_anwUtFuQ" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Class/methods"/>
+      </edges>
+    </lhs>
+    <rhs xmi:id="_Z6vIEyT1EeqBU_anwUtFuQ" name="Rhs">
+      <nodes xmi:id="_Z6vIFCT1EeqBU_anwUtFuQ" outgoing="_Z6vIGiT1EeqBU_anwUtFuQ _ggCBAyT1EeqBU_anwUtFuQ">
+        <annotations xmi:id="_Z6vIFST1EeqBU_anwUtFuQ" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Class"/>
+      </nodes>
+      <nodes xmi:id="_Z6vIFiT1EeqBU_anwUtFuQ" incoming="_Z6vIGiT1EeqBU_anwUtFuQ">
+        <annotations xmi:id="_Z6vIFyT1EeqBU_anwUtFuQ" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Method"/>
+      </nodes>
+      <nodes xmi:id="_ggCBACT1EeqBU_anwUtFuQ" incoming="_ggCBAyT1EeqBU_anwUtFuQ">
+        <annotations xmi:id="_ggCBAST1EeqBU_anwUtFuQ" key="presenceCondition" value="F"/>
+        <type href="Java.ecore#//Field"/>
+      </nodes>
+      <edges xmi:id="_Z6vIGiT1EeqBU_anwUtFuQ" source="_Z6vIFCT1EeqBU_anwUtFuQ" target="_Z6vIFiT1EeqBU_anwUtFuQ">
+        <annotations xmi:id="_Z6vIGyT1EeqBU_anwUtFuQ" key="presenceCondition" value=""/>
+        <type href="Java.ecore#//Class/methods"/>
+      </edges>
+      <edges xmi:id="_ggCBAyT1EeqBU_anwUtFuQ" source="_Z6vIFCT1EeqBU_anwUtFuQ" target="_ggCBACT1EeqBU_anwUtFuQ">
+        <type href="Java.ecore#//Class/fields"/>
+      </edges>
+    </rhs>
+    <mappings xmi:id="_Z6vIHiT1EeqBU_anwUtFuQ" origin="_Z6vIBST1EeqBU_anwUtFuQ" image="_Z6vIFCT1EeqBU_anwUtFuQ"/>
+    <mappings xmi:id="_Z6vIHyT1EeqBU_anwUtFuQ" origin="_Z6vIByT1EeqBU_anwUtFuQ" image="_Z6vIFiT1EeqBU_anwUtFuQ"/>
+    <mappings xmi:id="_ggCBAiT1EeqBU_anwUtFuQ" origin="_Z6vICST1EeqBU_anwUtFuQ" image="_ggCBACT1EeqBU_anwUtFuQ"/>
+  </units>
 </henshin:Module>
diff --git a/plugins/org.eclipse.emf.henshin.variability.test/data/java/vb.henshin_diagram b/plugins/org.eclipse.emf.henshin.variability.test/data/java/vb.henshin_diagram
index 7dc3043..5df5578 100644
--- a/plugins/org.eclipse.emf.henshin.variability.test/data/java/vb.henshin_diagram
+++ b/plugins/org.eclipse.emf.henshin.variability.test/data/java/vb.henshin_diagram
@@ -34,7 +34,7 @@
           <styles xmi:type="notation:FilteringStyle" xmi:id="_pO7j1BG6Eeqxptn-OOol6g"/>
         </children>
         <element xmi:type="henshin:Node" href="vb.henshin#_pOdpwBG6Eeqxptn-OOol6g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pO68wRG6Eeqxptn-OOol6g" x="229" y="100"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pO68wRG6Eeqxptn-OOol6g" x="296" y="95"/>
       </children>
       <children xmi:type="notation:Shape" xmi:id="_wMlScBG6Eeqxptn-OOol6g" type="3001" fontName="Ubuntu">
         <children xmi:type="notation:DecorationNode" xmi:id="_wMl5gBG6Eeqxptn-OOol6g" type="5002"/>
@@ -44,46 +44,419 @@
           <styles xmi:type="notation:FilteringStyle" xmi:id="_wMl5hBG6Eeqxptn-OOol6g"/>
         </children>
         <element xmi:type="henshin:Node" href="vb.henshin#_wMfL0BG6Eeqxptn-OOol6g"/>
-        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wMlScRG6Eeqxptn-OOol6g" x="123" y="184"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wMlScRG6Eeqxptn-OOol6g" x="158" y="100"/>
       </children>
     </children>
     <element xmi:type="henshin:Rule" href="vb.henshin#_FRXFYBBeEeqGYoBEYurJJg"/>
-    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FRaIsRBeEeqGYoBEYurJJg" x="210" y="84" width="392" height="290"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FRaIsRBeEeqGYoBEYurJJg" x="41" y="30" width="392" height="196"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_0rUycCTxEeqQuPO741JcQw" type="2001" fontName="Ubuntu" italic="true" lineColor="0">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0rUycSTxEeqQuPO741JcQw" source="defaultAction">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0rUyciTxEeqQuPO741JcQw" key="value" value="create"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="_0rUycyTxEeqQuPO741JcQw" type="5001"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_0rUydCTxEeqQuPO741JcQw" type="7001">
+      <children xmi:type="notation:Shape" xmi:id="_0rUydSTxEeqQuPO741JcQw" type="3001" fontName="Ubuntu">
+        <children xmi:type="notation:DecorationNode" xmi:id="_0rUydiTxEeqQuPO741JcQw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_0rUydyTxEeqQuPO741JcQw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_0rUyeCTxEeqQuPO741JcQw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_0rUyeSTxEeqQuPO741JcQw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_0rUyeiTxEeqQuPO741JcQw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="vb.henshin#_0rWAlSTxEeqQuPO741JcQw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0rUyeyTxEeqQuPO741JcQw" x="118" y="5"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_0rUyfCTxEeqQuPO741JcQw" type="3001" fontName="Ubuntu">
+        <children xmi:type="notation:DecorationNode" xmi:id="_0rUyfSTxEeqQuPO741JcQw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_0rUyfiTxEeqQuPO741JcQw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_0rUyfyTxEeqQuPO741JcQw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_0rUygCTxEeqQuPO741JcQw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_0rUygSTxEeqQuPO741JcQw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="vb.henshin#_0rWAlyTxEeqQuPO741JcQw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0rUygiTxEeqQuPO741JcQw" x="26" y="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_0rUygyTxEeqQuPO741JcQw" type="3001" fontName="Ubuntu">
+        <children xmi:type="notation:DecorationNode" xmi:id="_0rUyhCTxEeqQuPO741JcQw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_0rUyhSTxEeqQuPO741JcQw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_0rUyhiTxEeqQuPO741JcQw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_0rUyhyTxEeqQuPO741JcQw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_0rUyiCTxEeqQuPO741JcQw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="vb.henshin#_0rWAmSTxEeqQuPO741JcQw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0rUyiSTxEeqQuPO741JcQw" x="286" y="5"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_0rUyiiTxEeqQuPO741JcQw" type="3001" fontName="Ubuntu">
+        <children xmi:type="notation:DecorationNode" xmi:id="_0rUyiyTxEeqQuPO741JcQw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_0rUyjCTxEeqQuPO741JcQw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_0rUyjSTxEeqQuPO741JcQw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_0rUyjiTxEeqQuPO741JcQw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_0rUyjyTxEeqQuPO741JcQw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="vb.henshin#_0rWAmyTxEeqQuPO741JcQw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0rUykCTxEeqQuPO741JcQw" x="158" y="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_7ubo0CTxEeqQuPO741JcQw" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_7ucP4CTxEeqQuPO741JcQw" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_7ucP4STxEeqQuPO741JcQw" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_7ucP4iTxEeqQuPO741JcQw" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_7ucP4yTxEeqQuPO741JcQw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_7ucP5CTxEeqQuPO741JcQw"/>
+        </children>
+        <element xmi:type="henshin:Node" href="vb.henshin#_7tIoUCTxEeqQuPO741JcQw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ubo0STxEeqQuPO741JcQw" x="310" y="90"/>
+      </children>
+    </children>
+    <element xmi:type="henshin:Rule" href="vb.henshin#_0rWAkCTxEeqQuPO741JcQw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0rUykSTxEeqQuPO741JcQw" x="477" y="235" width="392" height="196"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_52xuMCTyEeqmvcN2WI4rvQ" type="2001" fontName="Ubuntu" italic="true" lineColor="0">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_52xuMSTyEeqmvcN2WI4rvQ" source="defaultAction">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_52xuMiTyEeqmvcN2WI4rvQ" key="value" value="create"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="_52xuMyTyEeqmvcN2WI4rvQ" type="5001"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_52xuNCTyEeqmvcN2WI4rvQ" type="7001">
+      <children xmi:type="notation:Shape" xmi:id="_52xuNSTyEeqmvcN2WI4rvQ" type="3001" fontName="Ubuntu">
+        <children xmi:type="notation:DecorationNode" xmi:id="_52xuNiTyEeqmvcN2WI4rvQ" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_52xuNyTyEeqmvcN2WI4rvQ" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_52xuOCTyEeqmvcN2WI4rvQ" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_52xuOSTyEeqmvcN2WI4rvQ"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_52xuOiTyEeqmvcN2WI4rvQ"/>
+        </children>
+        <element xmi:type="henshin:Node" href="vb.henshin#_52y8VSTyEeqmvcN2WI4rvQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_52xuOyTyEeqmvcN2WI4rvQ" x="118" y="5"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_52xuPCTyEeqmvcN2WI4rvQ" type="3001" fontName="Ubuntu">
+        <children xmi:type="notation:DecorationNode" xmi:id="_52xuPSTyEeqmvcN2WI4rvQ" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_52xuPiTyEeqmvcN2WI4rvQ" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_52xuPyTyEeqmvcN2WI4rvQ" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_52xuQCTyEeqmvcN2WI4rvQ"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_52xuQSTyEeqmvcN2WI4rvQ"/>
+        </children>
+        <element xmi:type="henshin:Node" href="vb.henshin#_52y8VyTyEeqmvcN2WI4rvQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_52xuQiTyEeqmvcN2WI4rvQ" x="26" y="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_52xuQyTyEeqmvcN2WI4rvQ" type="3001" fontName="Ubuntu">
+        <children xmi:type="notation:DecorationNode" xmi:id="_52xuRCTyEeqmvcN2WI4rvQ" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_52xuRSTyEeqmvcN2WI4rvQ" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_52xuRiTyEeqmvcN2WI4rvQ" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_52xuRyTyEeqmvcN2WI4rvQ"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_52xuSCTyEeqmvcN2WI4rvQ"/>
+        </children>
+        <element xmi:type="henshin:Node" href="vb.henshin#_52y8WSTyEeqmvcN2WI4rvQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_52xuSSTyEeqmvcN2WI4rvQ" x="286" y="5"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_52xuSiTyEeqmvcN2WI4rvQ" type="3001" fontName="Ubuntu">
+        <children xmi:type="notation:DecorationNode" xmi:id="_52xuSyTyEeqmvcN2WI4rvQ" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_52xuTCTyEeqmvcN2WI4rvQ" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_52xuTSTyEeqmvcN2WI4rvQ" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_52xuTiTyEeqmvcN2WI4rvQ"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_52xuTyTyEeqmvcN2WI4rvQ"/>
+        </children>
+        <element xmi:type="henshin:Node" href="vb.henshin#_52y8WyTyEeqmvcN2WI4rvQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_52xuUCTyEeqmvcN2WI4rvQ" x="158" y="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_52xuUSTyEeqmvcN2WI4rvQ" type="3001" fontName="Segoe UI">
+        <children xmi:type="notation:DecorationNode" xmi:id="_52xuUiTyEeqmvcN2WI4rvQ" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_52xuUyTyEeqmvcN2WI4rvQ" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_52xuVCTyEeqmvcN2WI4rvQ" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_52xuVSTyEeqmvcN2WI4rvQ"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_52xuViTyEeqmvcN2WI4rvQ"/>
+        </children>
+        <element xmi:type="henshin:Node" href="vb.henshin#_52y8bCTyEeqmvcN2WI4rvQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_52xuVyTyEeqmvcN2WI4rvQ" x="310" y="90"/>
+      </children>
+    </children>
+    <element xmi:type="henshin:Rule" href="vb.henshin#_52y8UCTyEeqmvcN2WI4rvQ"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_52xuWCTyEeqmvcN2WI4rvQ" x="477" y="30" width="392" height="196"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_SrZeYCTzEeqmvcN2WI4rvQ" type="2001" fontName="Ubuntu" italic="true" lineColor="0">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_SrZeYSTzEeqmvcN2WI4rvQ" source="defaultAction">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_SrZeYiTzEeqmvcN2WI4rvQ" key="value" value="delete"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="_SrZeYyTzEeqmvcN2WI4rvQ" type="5001"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_SrZeZCTzEeqmvcN2WI4rvQ" type="7001">
+      <children xmi:type="notation:Shape" xmi:id="_SrZeZSTzEeqmvcN2WI4rvQ" type="3001" fontName="Ubuntu">
+        <children xmi:type="notation:DecorationNode" xmi:id="_SrZeZiTzEeqmvcN2WI4rvQ" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_SrZeZyTzEeqmvcN2WI4rvQ" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_SrZeaCTzEeqmvcN2WI4rvQ" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_SrZeaSTzEeqmvcN2WI4rvQ"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_SrZeaiTzEeqmvcN2WI4rvQ"/>
+        </children>
+        <element xmi:type="henshin:Node" href="vb.henshin#_SrashSTzEeqmvcN2WI4rvQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SrZeayTzEeqmvcN2WI4rvQ" x="118" y="5"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_SrZebCTzEeqmvcN2WI4rvQ" type="3001" fontName="Ubuntu">
+        <children xmi:type="notation:DecorationNode" xmi:id="_SrZebSTzEeqmvcN2WI4rvQ" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_SrZebiTzEeqmvcN2WI4rvQ" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_SrZebyTzEeqmvcN2WI4rvQ" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_SrZecCTzEeqmvcN2WI4rvQ"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_SrZecSTzEeqmvcN2WI4rvQ"/>
+        </children>
+        <element xmi:type="henshin:Node" href="vb.henshin#_SrashyTzEeqmvcN2WI4rvQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SrZeciTzEeqmvcN2WI4rvQ" x="26" y="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_SrZecyTzEeqmvcN2WI4rvQ" type="3001" fontName="Ubuntu">
+        <children xmi:type="notation:DecorationNode" xmi:id="_SrZedCTzEeqmvcN2WI4rvQ" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_SrZedSTzEeqmvcN2WI4rvQ" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_SrZediTzEeqmvcN2WI4rvQ" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_SrZedyTzEeqmvcN2WI4rvQ"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_SrZeeCTzEeqmvcN2WI4rvQ"/>
+        </children>
+        <element xmi:type="henshin:Node" href="vb.henshin#_SrasiSTzEeqmvcN2WI4rvQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SrZeeSTzEeqmvcN2WI4rvQ" x="296" y="95"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_SrZeeiTzEeqmvcN2WI4rvQ" type="3001" fontName="Ubuntu">
+        <children xmi:type="notation:DecorationNode" xmi:id="_SrZeeyTzEeqmvcN2WI4rvQ" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_SrZefCTzEeqmvcN2WI4rvQ" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_SrZefSTzEeqmvcN2WI4rvQ" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_SrZefiTzEeqmvcN2WI4rvQ"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_SrZefyTzEeqmvcN2WI4rvQ"/>
+        </children>
+        <element xmi:type="henshin:Node" href="vb.henshin#_SrasiyTzEeqmvcN2WI4rvQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SrZegCTzEeqmvcN2WI4rvQ" x="158" y="100"/>
+      </children>
+    </children>
+    <element xmi:type="henshin:Rule" href="vb.henshin#_SrasgCTzEeqmvcN2WI4rvQ"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SrZegSTzEeqmvcN2WI4rvQ" x="41" y="230" width="392" height="196"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_Z6sEsCT1EeqBU_anwUtFuQ" type="2001" fontName="Ubuntu" italic="true" lineColor="0">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Z6srwCT1EeqBU_anwUtFuQ" source="defaultAction">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Z6srwST1EeqBU_anwUtFuQ" key="value" value="delete"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="_Z6srwiT1EeqBU_anwUtFuQ" type="5001"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_Z6srwyT1EeqBU_anwUtFuQ" type="7001">
+      <children xmi:type="notation:Shape" xmi:id="_Z6srxCT1EeqBU_anwUtFuQ" type="3001" fontName="Ubuntu">
+        <children xmi:type="notation:DecorationNode" xmi:id="_Z6srxST1EeqBU_anwUtFuQ" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_Z6srxiT1EeqBU_anwUtFuQ" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_Z6srxyT1EeqBU_anwUtFuQ" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_Z6sryCT1EeqBU_anwUtFuQ"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_Z6sryST1EeqBU_anwUtFuQ"/>
+        </children>
+        <element xmi:type="henshin:Node" href="vb.henshin#_Z6vIBST1EeqBU_anwUtFuQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z6sryiT1EeqBU_anwUtFuQ" x="118" y="5"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_Z6sryyT1EeqBU_anwUtFuQ" type="3001" fontName="Ubuntu">
+        <children xmi:type="notation:DecorationNode" xmi:id="_Z6srzCT1EeqBU_anwUtFuQ" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_Z6srzST1EeqBU_anwUtFuQ" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_Z6srziT1EeqBU_anwUtFuQ" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_Z6srzyT1EeqBU_anwUtFuQ"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_Z6sr0CT1EeqBU_anwUtFuQ"/>
+        </children>
+        <element xmi:type="henshin:Node" href="vb.henshin#_Z6vIByT1EeqBU_anwUtFuQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z6sr0ST1EeqBU_anwUtFuQ" x="26" y="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_Z6sr0iT1EeqBU_anwUtFuQ" type="3001" fontName="Ubuntu">
+        <children xmi:type="notation:DecorationNode" xmi:id="_Z6sr0yT1EeqBU_anwUtFuQ" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_Z6sr1CT1EeqBU_anwUtFuQ" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_Z6sr1ST1EeqBU_anwUtFuQ" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_Z6sr1iT1EeqBU_anwUtFuQ"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_Z6sr1yT1EeqBU_anwUtFuQ"/>
+        </children>
+        <element xmi:type="henshin:Node" href="vb.henshin#_Z6vICST1EeqBU_anwUtFuQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z6sr2CT1EeqBU_anwUtFuQ" x="296" y="95"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_Z6sr2ST1EeqBU_anwUtFuQ" type="3001" fontName="Ubuntu">
+        <children xmi:type="notation:DecorationNode" xmi:id="_Z6sr2iT1EeqBU_anwUtFuQ" type="5002"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_Z6sr2yT1EeqBU_anwUtFuQ" type="5003"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_Z6sr3CT1EeqBU_anwUtFuQ" type="7002">
+          <styles xmi:type="notation:SortingStyle" xmi:id="_Z6sr3ST1EeqBU_anwUtFuQ"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_Z6sr3iT1EeqBU_anwUtFuQ"/>
+        </children>
+        <element xmi:type="henshin:Node" href="vb.henshin#_Z6vICyT1EeqBU_anwUtFuQ"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z6sr3yT1EeqBU_anwUtFuQ" x="158" y="100"/>
+      </children>
+    </children>
+    <element xmi:type="henshin:Rule" href="vb.henshin#_Z6vIACT1EeqBU_anwUtFuQ"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Z6sr4CT1EeqBU_anwUtFuQ" x="35" y="439" width="392" height="196"/>
   </children>
   <styles xmi:type="notation:DiagramStyle" xmi:id="_EMnq4RBeEeqGYoBEYurJJg"/>
   <element xmi:type="henshin:Module" href="vb.henshin#_EMSTsBBeEeqGYoBEYurJJg"/>
-  <edges xmi:type="notation:Connector" xmi:id="_IormgBBeEeqGYoBEYurJJg" type="4001" source="_HA-B0BBeEeqGYoBEYurJJg" target="_H0IkIBBeEeqGYoBEYurJJg">
-    <children xmi:type="notation:DecorationNode" xmi:id="_Ios0oBBeEeqGYoBEYurJJg" type="6001">
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_Ios0oRBeEeqGYoBEYurJJg" x="55" y="33"/>
+  <edges xmi:type="notation:Connector" xmi:id="_53I6kCTyEeqmvcN2WI4rvQ" type="4001" source="_0rUydSTxEeqQuPO741JcQw" target="_0rUyfCTxEeqQuPO741JcQw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_53I6kyTyEeqmvcN2WI4rvQ" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_53KIsCTyEeqmvcN2WI4rvQ" y="40"/>
     </children>
-    <children xmi:type="notation:DecorationNode" xmi:id="_IotbsBBeEeqGYoBEYurJJg" type="6002">
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_IotbsRBeEeqGYoBEYurJJg" x="55" y="-38"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_53KIsSTyEeqmvcN2WI4rvQ" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_53KIsiTyEeqmvcN2WI4rvQ" y="60"/>
     </children>
-    <styles xmi:type="notation:FontStyle" xmi:id="_IormgRBeEeqGYoBEYurJJg" fontName="Ubuntu"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_53I6kSTyEeqmvcN2WI4rvQ" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="vb.henshin#_0rWAnSTxEeqQuPO741JcQw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_53I6kiTyEeqmvcN2WI4rvQ" points="[-21, 21, 71, -74]$[-72, 74, 20, -21]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_53KvwCTyEeqmvcN2WI4rvQ" type="4001" source="_0rUydSTxEeqQuPO741JcQw" target="_0rUygyTxEeqQuPO741JcQw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_53KvwyTyEeqmvcN2WI4rvQ" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_53KvxCTyEeqmvcN2WI4rvQ" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_53KvxSTyEeqmvcN2WI4rvQ" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_53KvxiTyEeqmvcN2WI4rvQ" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_53KvwSTyEeqmvcN2WI4rvQ" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="vb.henshin#_0rWAnyTxEeqQuPO741JcQw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_53KvwiTyEeqmvcN2WI4rvQ" points="[33, 0, -135, 0]$[135, 0, -33, 0]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_53KvxyTyEeqmvcN2WI4rvQ" type="4001" source="_0rUydSTxEeqQuPO741JcQw" target="_0rUyiiTxEeqQuPO741JcQw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_53KvyiTyEeqmvcN2WI4rvQ" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_53KvyyTyEeqmvcN2WI4rvQ" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_53KvzCTyEeqmvcN2WI4rvQ" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_53KvzSTyEeqmvcN2WI4rvQ" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_53KvyCTyEeqmvcN2WI4rvQ" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="vb.henshin#_0rWAoSTxEeqQuPO741JcQw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_53KvySTyEeqmvcN2WI4rvQ" points="[8, 21, -32, -74]$[31, 74, -9, -21]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_53NMACTyEeqmvcN2WI4rvQ" type="4001" source="_0rUyiiTxEeqQuPO741JcQw" target="_7ubo0CTxEeqQuPO741JcQw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_53NMAyTyEeqmvcN2WI4rvQ" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_53NMBCTyEeqmvcN2WI4rvQ" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_53NMBSTyEeqmvcN2WI4rvQ" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_53NMBiTyEeqmvcN2WI4rvQ" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_53NMASTyEeqmvcN2WI4rvQ" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="vb.henshin#_akKm4CTyEeqmvcN2WI4rvQ"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_53NMAiTyEeqmvcN2WI4rvQ" points="[33, -3, -119, 7]$[119, -8, -33, 2]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_53PBMCTyEeqmvcN2WI4rvQ" type="4001" source="_52xuNSTyEeqmvcN2WI4rvQ" target="_52xuPCTyEeqmvcN2WI4rvQ">
+    <children xmi:type="notation:DecorationNode" xmi:id="_53PoQCTyEeqmvcN2WI4rvQ" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_53PoQSTyEeqmvcN2WI4rvQ" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_53PoQiTyEeqmvcN2WI4rvQ" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_53PoQyTyEeqmvcN2WI4rvQ" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_53PBMSTyEeqmvcN2WI4rvQ" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="vb.henshin#_52y8XSTyEeqmvcN2WI4rvQ"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_53PBMiTyEeqmvcN2WI4rvQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_53Q2YCTyEeqmvcN2WI4rvQ" type="4001" source="_52xuNSTyEeqmvcN2WI4rvQ" target="_52xuQyTyEeqmvcN2WI4rvQ">
+    <children xmi:type="notation:DecorationNode" xmi:id="_53Q2YyTyEeqmvcN2WI4rvQ" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_53Q2ZCTyEeqmvcN2WI4rvQ" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_53Q2ZSTyEeqmvcN2WI4rvQ" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_53Q2ZiTyEeqmvcN2WI4rvQ" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_53Q2YSTyEeqmvcN2WI4rvQ" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="vb.henshin#_52y8XyTyEeqmvcN2WI4rvQ"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_53Q2YiTyEeqmvcN2WI4rvQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_53SrkCTyEeqmvcN2WI4rvQ" type="4001" source="_52xuNSTyEeqmvcN2WI4rvQ" target="_52xuSiTyEeqmvcN2WI4rvQ">
+    <children xmi:type="notation:DecorationNode" xmi:id="_53TSoCTyEeqmvcN2WI4rvQ" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_53TSoSTyEeqmvcN2WI4rvQ" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_53TSoiTyEeqmvcN2WI4rvQ" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_53TSoyTyEeqmvcN2WI4rvQ" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_53SrkSTyEeqmvcN2WI4rvQ" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="vb.henshin#_52y8YSTyEeqmvcN2WI4rvQ"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_53SrkiTyEeqmvcN2WI4rvQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_53T5sCTyEeqmvcN2WI4rvQ" type="4001" source="_52xuSiTyEeqmvcN2WI4rvQ" target="_52xuUSTyEeqmvcN2WI4rvQ">
+    <children xmi:type="notation:DecorationNode" xmi:id="_53T5syTyEeqmvcN2WI4rvQ" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_53UgwCTyEeqmvcN2WI4rvQ" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_53UgwSTyEeqmvcN2WI4rvQ" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_53UgwiTyEeqmvcN2WI4rvQ" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_53T5sSTyEeqmvcN2WI4rvQ" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="vb.henshin#_52y8dCTyEeqmvcN2WI4rvQ"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_53T5siTyEeqmvcN2WI4rvQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_SrmSsCTzEeqmvcN2WI4rvQ" type="4001" source="_HA-B0BBeEeqGYoBEYurJJg" target="_H0IkIBBeEeqGYoBEYurJJg">
+    <children xmi:type="notation:DecorationNode" xmi:id="_SrmSsyTzEeqmvcN2WI4rvQ" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_SrmStCTzEeqmvcN2WI4rvQ" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_SrmStSTzEeqmvcN2WI4rvQ" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_SrmStiTzEeqmvcN2WI4rvQ" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_SrmSsSTzEeqmvcN2WI4rvQ" fontName="Segoe UI"/>
     <element xmi:type="henshin:Edge" href="vb.henshin#_IognYBBeEeqGYoBEYurJJg"/>
-    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IormghBeEeqGYoBEYurJJg" points="[-32, 0, 60, -95]$[-92, 0, 0, -95]$[-92, 74, 0, -21]"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SrmSsiTzEeqmvcN2WI4rvQ" points="[-21, 21, 71, -74]$[-72, 74, 20, -21]"/>
   </edges>
-  <edges xmi:type="notation:Connector" xmi:id="_q4woYBG6Eeqxptn-OOol6g" type="4001" source="_HA-B0BBeEeqGYoBEYurJJg" target="_pO68wBG6Eeqxptn-OOol6g">
-    <children xmi:type="notation:DecorationNode" xmi:id="_q4050BG6Eeqxptn-OOol6g" type="6001">
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_q4050RG6Eeqxptn-OOol6g" x="33" y="63"/>
+  <edges xmi:type="notation:Connector" xmi:id="_Srm5wCTzEeqmvcN2WI4rvQ" type="4001" source="_HA-B0BBeEeqGYoBEYurJJg" target="_pO68wBG6Eeqxptn-OOol6g">
+    <children xmi:type="notation:DecorationNode" xmi:id="_Srm5wyTzEeqmvcN2WI4rvQ" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Srm5xCTzEeqmvcN2WI4rvQ" x="30" y="-33"/>
     </children>
-    <children xmi:type="notation:DecorationNode" xmi:id="_q4050hG6Eeqxptn-OOol6g" type="6002">
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_q4050xG6Eeqxptn-OOol6g" x="-38" y="62"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_Srng0CTzEeqmvcN2WI4rvQ" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_SroH4CTzEeqmvcN2WI4rvQ" x="11" y="-39"/>
     </children>
-    <styles xmi:type="notation:FontStyle" xmi:id="_q4woYRG6Eeqxptn-OOol6g" fontName="Ubuntu"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_Srm5wSTzEeqmvcN2WI4rvQ" fontName="Segoe UI"/>
     <element xmi:type="henshin:Edge" href="vb.henshin#_q4RgMBG6Eeqxptn-OOol6g"/>
-    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_q4woYhG6Eeqxptn-OOol6g" points="[10, 0, -78, -96]$[88, 0, 0, -96]$[88, 75, 0, -21]"/>
-    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_q4-DwBG6Eeqxptn-OOol6g" id="(0.8461538461538461,0.47619047619047616)"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Srm5wiTzEeqmvcN2WI4rvQ" points="[33, 16, -145, -74]$[145, 73, -33, -17]"/>
   </edges>
-  <edges xmi:type="notation:Connector" xmi:id="_xlV1IBG6Eeqxptn-OOol6g" type="4001" source="_HA-B0BBeEeqGYoBEYurJJg" target="_wMlScBG6Eeqxptn-OOol6g">
-    <children xmi:type="notation:DecorationNode" xmi:id="_xlWcMBG6Eeqxptn-OOol6g" type="6001">
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_xlWcMRG6Eeqxptn-OOol6g" x="54" y="-31"/>
+  <edges xmi:type="notation:Connector" xmi:id="_SroH4STzEeqmvcN2WI4rvQ" type="4001" source="_HA-B0BBeEeqGYoBEYurJJg" target="_wMlScBG6Eeqxptn-OOol6g">
+    <children xmi:type="notation:DecorationNode" xmi:id="_SroH5CTzEeqmvcN2WI4rvQ" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_SroH5STzEeqmvcN2WI4rvQ" y="40"/>
     </children>
-    <children xmi:type="notation:DecorationNode" xmi:id="_xlWcMhG6Eeqxptn-OOol6g" type="6002">
-      <layoutConstraint xmi:type="notation:Location" xmi:id="_xlWcMxG6Eeqxptn-OOol6g" x="53" y="35"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_SroH5iTzEeqmvcN2WI4rvQ" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_SroH5yTzEeqmvcN2WI4rvQ" y="60"/>
     </children>
-    <styles xmi:type="notation:FontStyle" xmi:id="_xlV1IRG6Eeqxptn-OOol6g" fontName="Ubuntu"/>
+    <styles xmi:type="notation:FontStyle" xmi:id="_SroH4iTzEeqmvcN2WI4rvQ" fontName="Segoe UI"/>
     <element xmi:type="henshin:Edge" href="vb.henshin#_xlRjsBG6Eeqxptn-OOol6g"/>
-    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xlV1IhG6Eeqxptn-OOol6g" points="[6, 21, -37, -134]$[42, 134, -1, -21]"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_SroH4yTzEeqmvcN2WI4rvQ" points="[8, 21, -32, -74]$[31, 74, -9, -21]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_Z7YBMCT1EeqBU_anwUtFuQ" type="4001" source="_SrZeZSTzEeqmvcN2WI4rvQ" target="_SrZebCTzEeqmvcN2WI4rvQ">
+    <children xmi:type="notation:DecorationNode" xmi:id="_Z7YoQCT1EeqBU_anwUtFuQ" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Z7YoQST1EeqBU_anwUtFuQ" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_Z7YoQiT1EeqBU_anwUtFuQ" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Z7YoQyT1EeqBU_anwUtFuQ" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_Z7YBMST1EeqBU_anwUtFuQ" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="vb.henshin#_SrasjSTzEeqmvcN2WI4rvQ"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Z7YBMiT1EeqBU_anwUtFuQ" points="[-21, 21, 71, -74]$[-72, 74, 20, -21]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_Z7Z2YCT1EeqBU_anwUtFuQ" type="4001" source="_SrZeZSTzEeqmvcN2WI4rvQ" target="_SrZecyTzEeqmvcN2WI4rvQ">
+    <children xmi:type="notation:DecorationNode" xmi:id="_Z7adcCT1EeqBU_anwUtFuQ" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Z7adcST1EeqBU_anwUtFuQ" x="21" y="-22"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_Z7adciT1EeqBU_anwUtFuQ" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Z7adcyT1EeqBU_anwUtFuQ" x="13" y="-44"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_Z7Z2YST1EeqBU_anwUtFuQ" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="vb.henshin#_SrasjyTzEeqmvcN2WI4rvQ"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Z7Z2YiT1EeqBU_anwUtFuQ" points="[33, 17, -138, -73]$[145, 76, -26, -14]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_Z7addCT1EeqBU_anwUtFuQ" type="4001" source="_SrZeZSTzEeqmvcN2WI4rvQ" target="_SrZeeiTzEeqmvcN2WI4rvQ">
+    <children xmi:type="notation:DecorationNode" xmi:id="_Z7addyT1EeqBU_anwUtFuQ" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Z7adeCT1EeqBU_anwUtFuQ" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_Z7adeST1EeqBU_anwUtFuQ" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Z7adeiT1EeqBU_anwUtFuQ" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_Z7addST1EeqBU_anwUtFuQ" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="vb.henshin#_SraskSTzEeqmvcN2WI4rvQ"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Z7addiT1EeqBU_anwUtFuQ" points="[8, 21, -32, -74]$[31, 74, -9, -21]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_Z7cSoCT1EeqBU_anwUtFuQ" type="4001" source="_Z6srxCT1EeqBU_anwUtFuQ" target="_Z6sryyT1EeqBU_anwUtFuQ">
+    <children xmi:type="notation:DecorationNode" xmi:id="_Z7c5sCT1EeqBU_anwUtFuQ" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Z7c5sST1EeqBU_anwUtFuQ" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_Z7c5siT1EeqBU_anwUtFuQ" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Z7c5syT1EeqBU_anwUtFuQ" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_Z7cSoST1EeqBU_anwUtFuQ" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="vb.henshin#_Z6vIDST1EeqBU_anwUtFuQ"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Z7cSoiT1EeqBU_anwUtFuQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_Z7dgwCT1EeqBU_anwUtFuQ" type="4001" source="_Z6srxCT1EeqBU_anwUtFuQ" target="_Z6sr0iT1EeqBU_anwUtFuQ">
+    <children xmi:type="notation:DecorationNode" xmi:id="_Z7dgwyT1EeqBU_anwUtFuQ" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Z7eH0CT1EeqBU_anwUtFuQ" x="31" y="-38"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_Z7eH0ST1EeqBU_anwUtFuQ" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Z7eH0iT1EeqBU_anwUtFuQ" x="21" y="-56"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_Z7dgwST1EeqBU_anwUtFuQ" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="vb.henshin#_Z6vIDyT1EeqBU_anwUtFuQ"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Z7dgwiT1EeqBU_anwUtFuQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_Z7eH0yT1EeqBU_anwUtFuQ" type="4001" source="_Z6srxCT1EeqBU_anwUtFuQ" target="_Z6sr2ST1EeqBU_anwUtFuQ">
+    <children xmi:type="notation:DecorationNode" xmi:id="_Z7eH1iT1EeqBU_anwUtFuQ" type="6001">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Z7eH1yT1EeqBU_anwUtFuQ" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_Z7eH2CT1EeqBU_anwUtFuQ" type="6002">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_Z7eH2ST1EeqBU_anwUtFuQ" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_Z7eH1CT1EeqBU_anwUtFuQ" fontName="Segoe UI"/>
+    <element xmi:type="henshin:Edge" href="vb.henshin#_Z6vIEST1EeqBU_anwUtFuQ"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Z7eH1ST1EeqBU_anwUtFuQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
   </edges>
 </notation:Diagram>
diff --git a/plugins/org.eclipse.emf.henshin.variability.test/data/java/vb.json b/plugins/org.eclipse.emf.henshin.variability.test/data/java/vb.json
index b35f93f..44af035 100644
--- a/plugins/org.eclipse.emf.henshin.variability.test/data/java/vb.json
+++ b/plugins/org.eclipse.emf.henshin.variability.test/data/java/vb.json
@@ -11,7 +11,49 @@
 				},
 				{
 					"kind": "MATCHES",
-					"value": 3
+					"value": 7
+				}
+			]
+		},
+		{
+			"rule": "create1",
+			"model": "model1.xmi",
+			"results": [
+				{
+					"kind": "MODEL_SIZE",
+					"value": 14
+				},
+				{
+					"kind": "MATCHES",
+					"value": 7
+				}
+			]
+		},
+		{
+			"rule": "create2",
+			"model": "model1.xmi",
+			"results": [
+				{
+					"kind": "MODEL_SIZE",
+					"value": 18
+				},
+				{
+					"kind": "MATCHES",
+					"value": 7
+				}
+			]
+		},
+		{
+			"rule": "delete2",
+			"model": "model1.xmi",
+			"results": [
+				{
+					"kind": "MODEL_SIZE",
+					"value": 6 
+				},
+				{
+					"kind": "MATCHES",
+					"value": 7
 				}
 			]
 		}
diff --git a/plugins/org.eclipse.emf.henshin.variability.test/tests/org/eclipse/emf/henshin/variability/test/VBEngineParameterizedTest.java b/plugins/org.eclipse.emf.henshin.variability.test/tests/org/eclipse/emf/henshin/variability/test/VBEngineParameterizedTest.java
index 672bfb1..5dee9c2 100644
--- a/plugins/org.eclipse.emf.henshin.variability.test/tests/org/eclipse/emf/henshin/variability/test/VBEngineParameterizedTest.java
+++ b/plugins/org.eclipse.emf.henshin.variability.test/tests/org/eclipse/emf/henshin/variability/test/VBEngineParameterizedTest.java
@@ -34,6 +34,7 @@
 import org.eclipse.emf.henshin.model.Rule;
 import org.eclipse.emf.henshin.model.resource.HenshinResourceSet;
 import org.eclipse.emf.henshin.variability.InconsistentRuleException;
+import org.eclipse.emf.henshin.variability.VarRuleApplicationImpl;
 import org.eclipse.emf.henshin.variability.matcher.VariabilityAwareEngine;
 import org.eclipse.emf.henshin.variability.matcher.VariabilityAwareMatch;
 import org.eclipse.emf.henshin.variability.util.RuleUtil;
@@ -168,10 +169,8 @@
 		VariabilityAwareEngine vbEngine = new VariabilityAwareEngine(data.rule, graph);
 		Set<VariabilityAwareMatch> matches = vbEngine.findMatches();
 		int numberOfMatches = matches.size();
-
-		EngineImpl engine = new EngineImpl();
 		for (VariabilityAwareMatch completeVarMatch : matches) {
-			applyMatch(graph, engine, completeVarMatch);
+			applyRuleAtMatch(graph, vbEngine, completeVarMatch);
 		}
 		if (DEBUG) {
 			Path path = Paths.get("debug/" + data.resource.getURI().lastSegment());
@@ -204,19 +203,22 @@
 	 * @param engine The engine
 	 * @param match  The VB match to be applied
 	 */
-	private void applyMatch(EGraphImpl graph, EngineImpl engine, VariabilityAwareMatch match) {
-		Match completeMatch = match.getMatch();
-		Rule unit = match.getMatch().getRule();
-		match.prepareRule();
-		MatchImpl resultMatch = new MatchImpl((Rule) unit, true);
-		Change change = engine.createChange((Rule) unit, graph, completeMatch, resultMatch);
-		if (change == null) {
-			fail("Creating change failed!");
-		}
-		change.applyAndReverse();
-		if (match != null) {
-			match.undoPreparation();
-		}
+	private void applyRuleAtMatch(EGraphImpl graph, VariabilityAwareEngine engine, VariabilityAwareMatch match) {
+		VarRuleApplicationImpl app = new VarRuleApplicationImpl(new EngineImpl(), graph, match.getRule(), match);
+		app.execute(null);
+		
+//		Match completeMatch = match.getMatch();
+//		Rule unit = match.getMatch().getRule();
+//		match.prepareRule();
+//		MatchImpl resultMatch = new MatchImpl((Rule) unit, true);
+//		Change change = engine.createChange((Rule) unit, graph, completeMatch, resultMatch);
+//		if (change == null) {
+//			fail("Creating change failed!");
+//		}
+//		change.applyAndReverse();
+//		if (match != null) {
+//			match.undoPreparation();
+//		}
 	}
 
 	/**
diff --git a/plugins/org.eclipse.emf.henshin.variability/src/org/eclipse/emf/henshin/variability/VarRuleApplicationImpl.java b/plugins/org.eclipse.emf.henshin.variability/src/org/eclipse/emf/henshin/variability/VarRuleApplicationImpl.java
index d18705d..890e7d3 100644
--- a/plugins/org.eclipse.emf.henshin.variability/src/org/eclipse/emf/henshin/variability/VarRuleApplicationImpl.java
+++ b/plugins/org.eclipse.emf.henshin.variability/src/org/eclipse/emf/henshin/variability/VarRuleApplicationImpl.java
@@ -21,12 +21,17 @@
  * @author Sven Peldszus
  */
 public class VarRuleApplicationImpl extends RuleApplicationImpl {
+	VariabilityAwareMatch completeVarMatch;
 
-	public VarRuleApplicationImpl(Engine engine, EGraph graph, Rule rule,
-			Assignment partialMatch) {
+	public VarRuleApplicationImpl(Engine engine, EGraph graph, Rule rule, Assignment partialMatch) {
 		super(engine, graph, rule, partialMatch);
 	}
 
+	public VarRuleApplicationImpl(Engine engine, EGraph graph, Rule rule, VariabilityAwareMatch completeMatchVar) {
+		super(engine, graph, rule, null);
+		this.completeVarMatch = completeMatchVar;
+	}
+
 	public VarRuleApplicationImpl(Engine engine) {
 		super(engine);
 	}
@@ -34,8 +39,7 @@
 	/*
 	 * (non-Javadoc)
 	 * 
-	 * @see
-	 * org.eclipse.emf.henshin.interpreter.UnitApplication#execute(org.eclipse
+	 * @see org.eclipse.emf.henshin.interpreter.UnitApplication#execute(org.eclipse
 	 * .emf.henshin.interpreter.ApplicationMonitor)
 	 */
 	@Override
@@ -56,50 +60,47 @@
 			resultMatch = null;
 		}
 		// Do we need to derive a complete match?
-		long startTime = System.currentTimeMillis();
-		VariabilityAwareMatch completeMatchVar = null;
-		if (completeMatch == null) {
-			if (!RuleUtil.isVarRule(unit)) {
-				completeMatch = engine
-						.findMatches((Rule) unit, graph, partialMatch)
-						.iterator().next();
-			} else {
-				VariabilityAwareEngine vbEngine;
-				try {
-					vbEngine = new VariabilityAwareEngine(
-							(Rule) unit, graph);
-				} catch (InconsistentRuleException e) {
-					return false;
-				}
-				Set<VariabilityAwareMatch> matches = vbEngine.findMatches();
-				if (!matches.isEmpty()) {
-					completeMatchVar = (VariabilityAwareMatch) matches
-							.iterator().next();
-					completeMatch = completeMatchVar.getMatch();
-					unit = completeMatchVar.getMatch().getRule();
+
+		if (completeVarMatch != null) {
+			completeMatch = completeVarMatch.getMatch();
+		} else {
+			long startTime = System.currentTimeMillis();
+
+			if (completeMatch == null) {
+				if (!RuleUtil.isVarRule(unit)) {
+					completeMatch = engine.findMatches((Rule) unit, graph, partialMatch).iterator().next();
+				} else {
+					VariabilityAwareEngine vbEngine;
+					try {
+						vbEngine = new VariabilityAwareEngine((Rule) unit, graph);
+					} catch (InconsistentRuleException e) {
+						return false;
+					}
+					Set<VariabilityAwareMatch> matches = vbEngine.findMatches();
+					if (!matches.isEmpty()) {
+						completeVarMatch = (VariabilityAwareMatch) matches.iterator().next();
+						completeMatch = completeVarMatch.getMatch();
+						unit = completeVarMatch.getMatch().getRule();
+
+					}
 
 				}
-
+				isCompleteMatchDerived = true;
 			}
-			isCompleteMatchDerived = true;
-		}
-		long runtime = (System.currentTimeMillis() - startTime);
-		MatchingLog.getEntries().add(
-				new MatchingLogEntry(unit, completeMatch != null, runtime,
-						graph.size(), 0)); // InterpreterUtil.countEdges(graph)));
-		if (completeMatch == null) {
-			if (monitor != null) {
-				monitor.notifyExecute(this, false);
+			long runtime = (System.currentTimeMillis() - startTime);
+			MatchingLog.getEntries().add(new MatchingLogEntry(unit, completeMatch != null, runtime, graph.size(), 0)); // InterpreterUtil.countEdges(graph)));
+			if (completeMatch == null) {
+				if (monitor != null) {
+					monitor.notifyExecute(this, false);
+				}
+				return false;
 			}
-			return false;
 		}
-		Rule rule = null;
-		if (completeMatchVar != null) {
-			completeMatchVar.prepareRule();
-		} 
+		if (completeVarMatch != null) {
+			completeVarMatch.prepareRule();
+		}
 		resultMatch = new MatchImpl((Rule) unit, true);
-		change = engine.createChange((Rule) unit, graph, completeMatch,
-				resultMatch);
+		change = engine.createChange((Rule) unit, graph, completeMatch, resultMatch);
 		if (change == null) {
 			if (monitor != null) {
 				monitor.notifyExecute(this, false);
@@ -110,9 +111,10 @@
 		isExecuted = true;
 		if (monitor != null) {
 			monitor.notifyExecute(this, true);
-		}	if (completeMatchVar != null) {
-			completeMatchVar.undoPreparation();
-		} 
+		}
+		if (completeVarMatch != null) {
+			completeVarMatch.undoPreparation();
+		}
 		return true;
 	}
 
diff --git a/plugins/org.eclipse.emf.henshin.variability/src/org/eclipse/emf/henshin/variability/matcher/RulePreparator.java b/plugins/org.eclipse.emf.henshin.variability/src/org/eclipse/emf/henshin/variability/matcher/RulePreparator.java
index 9b19ea0..580e131 100644
--- a/plugins/org.eclipse.emf.henshin.variability/src/org/eclipse/emf/henshin/variability/matcher/RulePreparator.java
+++ b/plugins/org.eclipse.emf.henshin.variability/src/org/eclipse/emf/henshin/variability/matcher/RulePreparator.java
@@ -27,6 +27,7 @@
 import org.eclipse.emf.henshin.variability.matcher.VariabilityAwareEngine.RuleInfo;
 import org.eclipse.emf.henshin.variability.wrapper.VariabilityFactory;
 import org.eclipse.emf.henshin.variability.wrapper.VariabilityGraphElement;
+import org.eclipse.emf.henshin.variability.wrapper.VariabilityNode;
 
 import aima.core.logic.propositional.parsing.ast.Sentence;
 
@@ -65,7 +66,8 @@
 		this.rule = rule;
 		this.checkDangling = rule.isCheckDangling();
 	}
-
+	
+	
 	/**
 	 * Prepares the rule for variability-based merging and rule application:
 	 * rejected elements and removed and the "injective" flag is set. Assumes
@@ -284,8 +286,6 @@
 
 	private void determineRemoverOrder(And and, Set<Formula> formulas, EObject container,
 			EReference feature) {
-		if (rule.getName().contains("tr_E_10_argument"))
-		System.out.println();
 		if (formulas.contains(and.getLeft())
 				&& formulas.contains(and.getRight())) {
 			removeFormulaContainingRef.put(and, feature);
diff --git a/plugins/org.eclipse.emf.henshin.variability/src/org/eclipse/emf/henshin/variability/matcher/VariabilityAwareEngine.java b/plugins/org.eclipse.emf.henshin.variability/src/org/eclipse/emf/henshin/variability/matcher/VariabilityAwareEngine.java
index 2e03789..189781b 100644
--- a/plugins/org.eclipse.emf.henshin.variability/src/org/eclipse/emf/henshin/variability/matcher/VariabilityAwareEngine.java
+++ b/plugins/org.eclipse.emf.henshin.variability/src/org/eclipse/emf/henshin/variability/matcher/VariabilityAwareEngine.java
@@ -26,6 +26,7 @@
 import org.eclipse.emf.henshin.variability.util.RuleUtil;
 import org.eclipse.emf.henshin.variability.wrapper.VariabilityFactory;
 import org.eclipse.emf.henshin.variability.wrapper.VariabilityGraphElement;
+import org.eclipse.emf.henshin.variability.wrapper.VariabilityNode;
 import org.eclipse.emf.henshin.variability.wrapper.VariabilityRule;
 
 import aima.core.logic.propositional.parsing.ast.Sentence;
@@ -71,6 +72,7 @@
 	 */
 	public VariabilityAwareEngine(Rule rule, EGraph graph) throws InconsistentRuleException {
 		super();
+		fixInconsistencies(rule);
 		if(!RuleUtil.checkRule(rule)) {
 			throw new InconsistentRuleException();
 		}
@@ -85,6 +87,20 @@
 		populateExpressionMap();
 	}
 
+	private void fixInconsistencies(Rule rule) {
+		// Per definition, mapped nodes must have the same presence condition
+		// in the LHS and the RHS.
+		for (Mapping mapping : rule.getMappings()) {
+
+			VariabilityNode origin = VariabilityFactory.createVariabilityNode(mapping.getOrigin());
+			VariabilityNode image = VariabilityFactory.createVariabilityNode(mapping.getImage());
+
+			if (origin.getPresenceCondition() != image.getPresenceCondition()) {
+				image.setPresenceCondition(origin.getPresenceCondition());
+			}	
+		}
+	}
+	
 	private void populateExpressionMap() {
 		if (ruleInfoRegistry.containsKey(rule)) {
 			expressions = ruleInfo.getExpressions();