Index: /trunk/autoquest-plugin-uml-test/src/test/java/de/ugoe/cs/autoquest/plugin/uml/UMLUtilsTest.java
===================================================================
--- /trunk/autoquest-plugin-uml-test/src/test/java/de/ugoe/cs/autoquest/plugin/uml/UMLUtilsTest.java	(revision 1925)
+++ /trunk/autoquest-plugin-uml-test/src/test/java/de/ugoe/cs/autoquest/plugin/uml/UMLUtilsTest.java	(revision 1926)
@@ -23,9 +23,10 @@
 import java.util.logging.Level;
 
+import static org.junit.Assert.*;
+
 import org.apache.commons.lang.SerializationUtils;
 import org.eclipse.uml2.uml.Interaction;
 import org.eclipse.uml2.uml.Model;
 import org.eclipse.uml2.uml.StateMachine;
-import org.eclipse.uml2.uml.Transition;
 import org.eclipse.uml2.uml.UMLPackage;
 import org.junit.After;
@@ -36,7 +37,6 @@
 import de.ugoe.cs.autoquest.eventcore.Event;
 import de.ugoe.cs.autoquest.plugin.http.HTTPLogParser;
-import de.ugoe.cs.autoquest.plugin.http.HTTPUtils;
+import de.ugoe.cs.autoquest.plugin.http.SOAPUtils;
 import de.ugoe.cs.autoquest.plugin.http.eventcore.SOAPEventType;
-import de.ugoe.cs.autoquest.plugin.uml.eventcore.UMLTransitionType;
 import de.ugoe.cs.autoquest.testgeneration.RandomWalkGenerator;
 import de.ugoe.cs.autoquest.usageprofiles.FirstOrderMarkovModel;
@@ -59,5 +59,5 @@
         new TextConsole(Level.INFO);
     }
-    
+
     @After
     public void tearDown() throws Exception {
@@ -68,17 +68,22 @@
     public void testCreateUMLTransitionSequence_1() throws Exception {
         // parse log file
-        HTTPLogParser parser = new HTTPLogParser();
-        parser.parseFile(new File(ClassLoader.getSystemResource("createSequence_1_usagedata.log")
+        HTTPLogParser parser =
+            new HTTPLogParser(new File(ClassLoader.getSystemResource("ita_v2_servicenamemap.txt")
+                .getFile()));
+        parser.parseFile(new File(ClassLoader.getSystemResource("ita_usagejournal_v2_2.log")
             .getFile()));
         Collection<List<Event>> httpSequences = parser.getSequences();
-        Model model =
-            ModelUtils.loadModel(ClassLoader
-                .getSystemResourceAsStream("createSequence_1_model.uml"));
+
+        Model model =
+            ModelUtils.loadModel(ClassLoader.getSystemResourceAsStream("ita_model_v2.uml"));
 
         StateMachine stateMachine =
-            (StateMachine) model.getPackagedElement("PatientIDBehavior", true,
-                                                    UMLPackage.Literals.STATE_MACHINE, true);
-
+                (StateMachine) model.getPackagedElement("StateMachineTransportService", true,
+                                                        UMLPackage.Literals.STATE_MACHINE, true);
+
+           
         Collection<List<Event>> umlSequences = new LinkedList<>();
+        
+        // remove everything but transport from sequences
         for (List<Event> httpSequence : httpSequences) {
             for (Iterator<Event> eventIter = httpSequence.iterator(); eventIter.hasNext();) {
@@ -88,10 +93,10 @@
                 }
                 else {
-                    if (!event.getType().toString().contains("ixsmq")) {
+                    SOAPEventType eventType = (SOAPEventType) event.getType();
+                    if (!"TransportService".equals(eventType.getServiceName())) {
                         eventIter.remove();
                     }
                 }
             }
-
             umlSequences.add(UMLUtils.createUMLTransitionSequence(httpSequence, stateMachine));
         }
@@ -100,18 +105,15 @@
     @Test
     public void testConvertStateMachineToUsageProfile_1() throws Exception {
-        // parse log file
-        HTTPLogParser parser = new HTTPLogParser();
-        parser.parseFile(new File(ClassLoader.getSystemResource("createSequence_1_usagedata.log")
+        HTTPLogParser parser =
+            new HTTPLogParser(new File(ClassLoader.getSystemResource("ita_v2_servicenamemap.txt")
+                .getFile()));
+        parser.parseFile(new File(ClassLoader.getSystemResource("ita_usagejournal_v2_2.log")
             .getFile()));
         Collection<List<Event>> httpSequences = parser.getSequences();
-        Model model =
-            ModelUtils.loadModel(ClassLoader
-                .getSystemResourceAsStream("createSequence_1_model.uml"));
-
-        StateMachine stateMachine =
-            (StateMachine) model.getPackagedElement("PatientIDBehavior", true,
-                                                    UMLPackage.Literals.STATE_MACHINE, true);
-
-        Collection<List<Event>> umlSequences = new LinkedList<>();
+
+        Model model =
+            ModelUtils.loadModel(ClassLoader.getSystemResourceAsStream("ita_model_v2.uml"));
+
+        // remove everything but transport from sequences
         for (List<Event> httpSequence : httpSequences) {
             for (Iterator<Event> eventIter = httpSequence.iterator(); eventIter.hasNext();) {
@@ -121,23 +123,19 @@
                 }
                 else {
-                    if (!event.getType().toString().contains("ixsmq")) {
+                    SOAPEventType eventType = (SOAPEventType) event.getType();
+                    if (!"TransportService".equals(eventType.getServiceName())) {
                         eventIter.remove();
                     }
                 }
             }
-
-            List<List<Transition>> matchingSequences =
-                UMLUtils.determineMatchingTransitionSequences(httpSequence, stateMachine);
-            if (matchingSequences.size() >= 1) {
-                List<Event> umlEventSequence = new LinkedList<>();
-                for (Transition transition : matchingSequences.get(0)) {
-                    umlEventSequence.add(new Event(new UMLTransitionType(transition)));
-                }
-                umlSequences.add(umlEventSequence);
-            }
-        }
-        UMLUtils.convertStateMachineToUsageProfile(umlSequences, stateMachine);
-
-        ModelUtils.writeModelToFile(model, OUTPUT_DIR + "convertStateMachineToUsageProfile_1.uml");
+        }
+
+        StateMachine stateMachine =
+            (StateMachine) model.getPackagedElement("StateMachineTransportService", true,
+                                                    UMLPackage.Literals.STATE_MACHINE, true);
+
+        UMLUtils.convertStateMachineToUsageProfile(httpSequences, stateMachine);
+
+        ModelUtils.writeModelToFile(model, OUTPUT_DIR + "ita_v2_result.uml");
     }
 
@@ -170,7 +168,8 @@
         }
 
-        ModelUtils.writeModelToFile(model, OUTPUT_DIR + "testCreateInteractionFromEventSequence_1_result.uml");
-    }
-    
+        ModelUtils.writeModelToFile(model, OUTPUT_DIR +
+            "testCreateInteractionFromEventSequence_1_result.uml");
+    }
+
     @Test
     public void testCreateInteractionFromEventSequence_2() throws Exception {
@@ -201,7 +200,8 @@
         }
 
-        ModelUtils.writeModelToFile(model, OUTPUT_DIR + "testCreateInteractionFromEventSequence_1_result.uml");
-    }
-    
+        ModelUtils.writeModelToFile(model, OUTPUT_DIR +
+            "testCreateInteractionFromEventSequence_1_result.uml");
+    }
+
     @Test
     public void testCalculateUsageScore_1() throws Exception {
@@ -220,5 +220,5 @@
         Collection<List<Event>> simpleSOAPSequences = new LinkedList<>();
         for (List<Event> httpSequence : httpSequences) {
-            simpleSOAPSequences.add(HTTPUtils.convertToSimpleSOAPEvent(httpSequence, true));
+            simpleSOAPSequences.add(SOAPUtils.convertToSimpleSOAPEvent(httpSequence, true));
         }
 
@@ -244,24 +244,26 @@
         }
     }
-    
+
     @Test
     public void testCreateScheduling_1() throws Exception {
         Model model =
-                ModelUtils.loadModel(ClassLoader
-                    .getSystemResourceAsStream("testCreateScheduling_1_testsuite.uml"));
-        
-        IStochasticProcess usageProfile = (IStochasticProcess) SerializationUtils.deserialize(ClassLoader.getSystemResourceAsStream("testCreateScheduling_1_usageprofile.dat"));
-        
+            ModelUtils.loadModel(ClassLoader
+                .getSystemResourceAsStream("testCreateScheduling_1_testsuite.uml"));
+
+        IStochasticProcess usageProfile =
+            (IStochasticProcess) SerializationUtils.deserialize(ClassLoader
+                .getSystemResourceAsStream("testCreateScheduling_1_usageprofile.dat"));
+
         UMLUtils.createScheduling(model, usageProfile, null);
-        
+
         ModelUtils.writeModelToFile(model, OUTPUT_DIR + "testCreateScheduling_1_result.uml");
     }
-    
+
     @Test
     public void testValidateModelWithLog_1() throws Exception {
         HTTPLogParser parser =
-                new HTTPLogParser(new File(ClassLoader
-                    .getSystemResource("testCreateInteractionFromEventSequence_1_properties.txt")
-                    .getFile()));
+            new HTTPLogParser(new File(ClassLoader
+                .getSystemResource("testCreateInteractionFromEventSequence_1_properties.txt")
+                .getFile()));
         parser
             .parseFile(new File(ClassLoader
@@ -270,23 +272,27 @@
         Collection<List<Event>> httpSequences = parser.getSequences();
 
+        for (List<Event> httpSequence : httpSequences) {
+            SOAPUtils.removeNonSOAPEvents(httpSequence);
+        }
         
         Model model =
             ModelUtils.loadModel(ClassLoader
                 .getSystemResourceAsStream("testCreateInteractionFromEventSequence_1_model.uml"));
-        
+
         int violations = UMLUtils.validateModelWithLog(httpSequences, model, null);
-        if( violations==0 ) {
+        if (violations == 0) {
             System.out.println("No problems found.");
-        } else {
-                System.out.println(violations + " violations found.");
-        }
-    }
-    
+        }
+        else {
+            System.out.println(violations + " violations found.");
+        }
+    }
+
     @Test
     public void testValidateModelWithLog_2() throws Exception {
         HTTPLogParser parser =
-                new HTTPLogParser(new File(ClassLoader
-                    .getSystemResource("testCreateInteractionFromEventSequence_2_properties.txt")
-                    .getFile()));
+            new HTTPLogParser(new File(ClassLoader
+                .getSystemResource("testCreateInteractionFromEventSequence_2_properties.txt")
+                .getFile()));
         parser
             .parseFile(new File(ClassLoader
@@ -295,23 +301,26 @@
         Collection<List<Event>> httpSequences = parser.getSequences();
 
+        for (List<Event> httpSequence : httpSequences) {
+            SOAPUtils.removeNonSOAPEvents(httpSequence);
+        }
         
         Model model =
             ModelUtils.loadModel(ClassLoader
                 .getSystemResourceAsStream("testCreateInteractionFromEventSequence_2_model.uml"));
-        
+
         int violations = UMLUtils.validateModelWithLog(httpSequences, model, null);
-        if( violations==0 ) {
+        if (violations == 0) {
             System.out.println("No problems found.");
-        } else {
+        }
+        else {
             System.out.println(violations + " violations found.");
         }
     }
-    
+
     @Test
     public void testValidateModelWithLog_HL7_RLUS_v3() throws Exception {
         HTTPLogParser parser =
-                new HTTPLogParser(new File(ClassLoader
-                    .getSystemResource("hl7_servicenamemap.txt")
-                    .getFile()));
+            new HTTPLogParser(new File(ClassLoader.getSystemResource("hl7_servicenamemap.txt")
+                .getFile()));
         parser
             .parseFile(new File(ClassLoader
@@ -320,42 +329,43 @@
         Collection<List<Event>> httpSequences = parser.getSequences();
 
-        
-        Model model =
-            ModelUtils.loadModel(ClassLoader
-                .getSystemResourceAsStream("hl7model_v3.uml"));
-        
+        for (List<Event> httpSequence : httpSequences) {
+            SOAPUtils.removeNonSOAPEvents(httpSequence);
+        }
+        
+        Model model =
+            ModelUtils.loadModel(ClassLoader.getSystemResourceAsStream("hl7model_v3.uml"));
+
         int violations = UMLUtils.validateModelWithLog(httpSequences, model, "RLUSTestSuite_1");
-        if( violations==0 ) {
+        if (violations == 0) {
             System.out.println("No problems found.");
-        } else {
+        }
+        else {
             System.out.println(violations + " violations found.");
         }
-        
+
         // remove everything but rlusService from sequences
         for (List<Event> httpSequence : httpSequences) {
             for (Iterator<Event> eventIter = httpSequence.iterator(); eventIter.hasNext();) {
                 Event event = eventIter.next();
-                if (!(event.getType() instanceof SOAPEventType)) {
-                    eventIter.remove();
-                } else {
-                    SOAPEventType eventType = (SOAPEventType) event.getType();
-                    if( !"rlusService".equals(eventType.getServiceName()) )  {
-                        eventIter.remove();
-                    }
-                }
-            }
-            
-            UMLUtils.createInteractionFromEventSequence(httpSequence, model, "foo", "RLUSTestSuite_1");
-        }
-        
+                SOAPEventType eventType = (SOAPEventType) event.getType();
+                if (!"rlusService".equals(eventType.getServiceName()) ) {
+                    eventIter.remove();
+                }
+            }
+
+            UMLUtils.createInteractionFromEventSequence(httpSequence, model, "rlustest1",
+                                                        "RLUSTestSuite_1");
+            UMLUtils.createInteractionFromEventSequence(SOAPUtils.convertToSimpleSOAPEvent(httpSequence, true), model, "rlustest2",
+                    "RLUSTestSuite_1");
+        }
+
         ModelUtils.writeModelToFile(model, OUTPUT_DIR + "hl7_v3_result.uml");
     }
-    
+
     @Test
     public void testValidateModelWithLog_HL7_IXS_v3() throws Exception {
         HTTPLogParser parser =
-                new HTTPLogParser(new File(ClassLoader
-                    .getSystemResource("hl7_ixs_servicenamemap.txt")
-                    .getFile()));
+            new HTTPLogParser(new File(ClassLoader.getSystemResource("hl7_ixs_servicenamemap.txt")
+                .getFile()));
         parser
             .parseFile(new File(ClassLoader
@@ -364,79 +374,76 @@
         Collection<List<Event>> httpSequences = parser.getSequences();
 
-        
-        Model model =
-            ModelUtils.loadModel(ClassLoader
-                .getSystemResourceAsStream("hl7model_v3.uml"));
-        
+        for (List<Event> httpSequence : httpSequences) {
+            SOAPUtils.removeNonSOAPEvents(httpSequence);
+        }
+        
+        Model model =
+            ModelUtils.loadModel(ClassLoader.getSystemResourceAsStream("hl7model_v3.uml"));
+
         int violations = UMLUtils.validateModelWithLog(httpSequences, model, "IXSTestSuite_1");
-        if( violations==0 ) {
+        if (violations == 0) {
             System.out.println("No problems found.");
-        } else {
+        }
+        else {
             System.out.println(violations + " violations found.");
         }
-        
+
         // remove everything but rlusService from sequences
         for (List<Event> httpSequence : httpSequences) {
             for (Iterator<Event> eventIter = httpSequence.iterator(); eventIter.hasNext();) {
                 Event event = eventIter.next();
-                if (!(event.getType() instanceof SOAPEventType)) {
-                    eventIter.remove();
-                } else {
-                    SOAPEventType eventType = (SOAPEventType) event.getType();
-                    if( !"ixsService".equals(eventType.getServiceName()) )  {
-                        eventIter.remove();
-                    }
-                }
-            }
-            
-            UMLUtils.createInteractionFromEventSequence(httpSequence, model, "foo", "IXSTestSuite_1");
-        }
-        
+                SOAPEventType eventType = (SOAPEventType) event.getType();
+                if (!"ixsService".equals(eventType.getServiceName())) {
+                    eventIter.remove();
+                }
+            }
+
+            UMLUtils.createInteractionFromEventSequence(httpSequence, model, "foo",
+                                                        "IXSTestSuite_1");
+        }
+
         ModelUtils.writeModelToFile(model, OUTPUT_DIR + "hl7_v3_result.uml");
     }
-    
+
     @Test
     public void testValidateModelWithLog_ITA_v2() throws Exception {
         HTTPLogParser parser =
-                new HTTPLogParser(new File(ClassLoader
-                    .getSystemResource("ita_v2_servicenamemap.txt")
-                    .getFile()));
-        parser
-            .parseFile(new File(ClassLoader
-                .getSystemResource("ita_usagejournal_v2_2.log")
-                .getFile()));
-        Collection<List<Event>> httpSequences = parser.getSequences();
-
-        
-        Model model =
-            ModelUtils.loadModel(ClassLoader
-                .getSystemResourceAsStream("ita_model_v2.uml"));
-        
+            new HTTPLogParser(new File(ClassLoader.getSystemResource("ita_v2_servicenamemap.txt")
+                .getFile()));
+        parser.parseFile(new File(ClassLoader.getSystemResource("ita_usagejournal_v2_2.log")
+            .getFile()));
+        Collection<List<Event>> httpSequences = parser.getSequences();
+        
+        for (List<Event> httpSequence : httpSequences) {
+            SOAPUtils.removeNonSOAPEvents(httpSequence);
+        }
+
+        Model model =
+            ModelUtils.loadModel(ClassLoader.getSystemResourceAsStream("ita_model_v2.uml"));
+
         int violations = UMLUtils.validateModelWithLog(httpSequences, model, null);
-        if( violations==0 ) {
+        if (violations == 0) {
             System.out.println("No problems found.");
-        } else {
+        }
+        else {
             System.out.println(violations + " violations found.");
         }
-        
+
         // remove everything but transport from sequences
         for (List<Event> httpSequence : httpSequences) {
             for (Iterator<Event> eventIter = httpSequence.iterator(); eventIter.hasNext();) {
                 Event event = eventIter.next();
-                if (!(event.getType() instanceof SOAPEventType)) {
-                    eventIter.remove();
-                } else {
-                    SOAPEventType eventType = (SOAPEventType) event.getType();
-                    if( !"TransportService".equals(eventType.getServiceName()) )  {
-                        eventIter.remove();
-                    }
-                }
-            }
-            
-            UMLUtils.createInteractionFromEventSequence(httpSequence, model, "foo", "LogisticsTestSuite");
-        }
-        
+                SOAPEventType eventType = (SOAPEventType) event.getType();
+                if (!"TransportService".equals(eventType.getServiceName())) {
+                    eventIter.remove();
+                }
+            }
+
+            UMLUtils.createInteractionFromEventSequence(httpSequence, model, "foo",
+                                                        "LogisticsTestSuite");
+        }
+
         ModelUtils.writeModelToFile(model, OUTPUT_DIR + "ita_v2_result.uml");
-        
+
     }
 
Index: /trunk/autoquest-plugin-uml-test/src/test/resources/hl7model_v3.uml
===================================================================
--- /trunk/autoquest-plugin-uml-test/src/test/resources/hl7model_v3.uml	(revision 1925)
+++ /trunk/autoquest-plugin-uml-test/src/test/resources/hl7model_v3.uml	(revision 1926)
@@ -69,5 +69,7 @@
         </packagedElement>
         <packagedElement xmi:type="uml:DataType" xmi:id="_GZLQULwTEeS8kt2gTxQkQg" name="UpdateSemanticSignifierRequest">
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_VO7joLwTEeS8kt2gTxQkQg" name="semantic-signifierName"/>
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_VO7joLwTEeS8kt2gTxQkQg" name="semantic-signifierName">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+          </ownedAttribute>
           <ownedAttribute xmi:type="uml:Property" xmi:id="_Z4koQLwTEeS8kt2gTxQkQg" name="RLUSsemantic-signifier" type="_hVXYsLwNEeS8kt2gTxQkQg"/>
         </packagedElement>
@@ -101,5 +103,5 @@
         </packagedElement>
         <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_K7AJwLzkEeSu8bCjKN8_hw" name="semantic-signifierName"/>
-        <packagedElement xmi:type="uml:DataType" xmi:id="_14bXIMcQEeSYR7D_AlByKg" name="documentType">
+        <packagedElement xmi:type="uml:DataType" xmi:id="_14bXIMcQEeSYR7D_AlByKg" name="XDW.WorkflowDocument">
           <ownedAttribute xmi:type="uml:Property" xmi:id="_c20sIMcWEeSYR7D_AlByKg" name="version" visibility="public">
             <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
@@ -188,5 +190,5 @@
           <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_TUh2gMcWEeSYR7D_AlByKg" name="DESC"/>
         </packagedElement>
-        <packagedElement xmi:type="uml:DataType" xmi:id="_nN278McXEeSYR7D_AlByKg" name="rlpnotes_GetResponse">
+        <packagedElement xmi:type="uml:DataType" xmi:id="_nN278McXEeSYR7D_AlByKg" name="rlpnotes:GetResponse">
           <ownedAttribute xmi:type="uml:Property" xmi:id="_y3xlYMcXEeSYR7D_AlByKg" name="document" visibility="public" type="_14bXIMcQEeSYR7D_AlByKg">
             <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_zXPIkMcXEeSYR7D_AlByKg"/>
@@ -204,6 +206,6 @@
           </ownedAttribute>
         </packagedElement>
-        <packagedElement xmi:type="uml:DataType" xmi:id="_Kv7tUMcYEeSYR7D_AlByKg" name="rlpnotes_PutRequest">
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_ZAJOIMcZEeSYR7D_AlByKg" name="document" visibility="public" type="_14bXIMcQEeSYR7D_AlByKg">
+        <packagedElement xmi:type="uml:DataType" xmi:id="_Kv7tUMcYEeSYR7D_AlByKg" name="rlpnotes:PutRequest">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_ZAJOIMcZEeSYR7D_AlByKg" name="XDW.WorkflowDocument" visibility="public" type="_14bXIMcQEeSYR7D_AlByKg">
             <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aBYosMcZEeSYR7D_AlByKg" value="1"/>
             <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aBZPwMcZEeSYR7D_AlByKg" value="1"/>
@@ -255,5 +257,5 @@
             </defaultValue>
           </ownedAttribute>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_2AM-0McrEeSYR7D_AlByKg" name="SearchByCriteria" visibility="public" type="_pLWzUMcrEeSYR7D_AlByKg">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_2AM-0McrEeSYR7D_AlByKg" name="searchByCriteria" visibility="public" type="_pLWzUMcrEeSYR7D_AlByKg">
             <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_3k-kQMcrEeSYR7D_AlByKg"/>
             <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_3lBnkMcrEeSYR7D_AlByKg" value="1"/>
@@ -263,4 +265,5 @@
           </ownedAttribute>
           <ownedAttribute xmi:type="uml:Property" xmi:id="_mp4foMcsEeSYR7D_AlByKg" name="SearchByExample" visibility="public">
+            <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
             <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nxDjEMcsEeSYR7D_AlByKg"/>
             <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_nxEKIMcsEeSYR7D_AlByKg" value="1"/>
@@ -306,5 +309,5 @@
             </defaultValue>
           </ownedAttribute>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_jP6_YMcaEeSYR7D_AlByKg" name="prevResultID" visibility="public">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_jP6_YMcaEeSYR7D_AlByKg" name="previousResultID" visibility="public">
             <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
             <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kLhsAMcaEeSYR7D_AlByKg" value="1"/>
@@ -315,5 +318,5 @@
           </ownedAttribute>
         </packagedElement>
-        <packagedElement xmi:type="uml:DataType" xmi:id="_sbdh4McaEeSYR7D_AlByKg" name="rlpnotes_ListResponse">
+        <packagedElement xmi:type="uml:DataType" xmi:id="_sbdh4McaEeSYR7D_AlByKg" name="rlpnotes:ListResponse">
           <ownedAttribute xmi:type="uml:Property" xmi:id="_vZbu4McaEeSYR7D_AlByKg" name="document" visibility="public" type="_14bXIMcQEeSYR7D_AlByKg">
             <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_wAgV8McaEeSYR7D_AlByKg"/>
@@ -363,5 +366,5 @@
             </defaultValue>
           </ownedAttribute>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_PnTkmccbEeSYR7D_AlByKg" name="prevResultID" visibility="public">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_PnTkmccbEeSYR7D_AlByKg" name="previousResultID" visibility="public">
             <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
             <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_PnTkmscbEeSYR7D_AlByKg" value="1"/>
@@ -451,5 +454,5 @@
             </defaultValue>
           </ownedAttribute>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_gVSnAMcqEeSYR7D_AlByKg" name="CBRNetworkName" visibility="public">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_gVSnAMcqEeSYR7D_AlByKg" name="NetworkName" visibility="public">
             <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
             <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_hs89gMcqEeSYR7D_AlByKg" value="1"/>
@@ -459,5 +462,5 @@
             </defaultValue>
           </ownedAttribute>
-          <ownedAttribute xmi:type="uml:Property" xmi:id="_jAXtMMcqEeSYR7D_AlByKg" name="CBRNetworkAddress" visibility="public">
+          <ownedAttribute xmi:type="uml:Property" xmi:id="_jAXtMMcqEeSYR7D_AlByKg" name="NetworkAddress" visibility="public">
             <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
             <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_kIWB4McqEeSYR7D_AlByKg" value="1"/>
@@ -614,4 +617,5 @@
           <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_5pptkMcyEeSYR7D_AlByKg" name="Numeric"/>
         </packagedElement>
+        <packagedElement xmi:type="uml:DataType" xmi:id="_XENlYMvZEeSyCug81TQDwA" name="FindSemanticSignifierRequest"/>
       </packagedElement>
       <packagedElement xmi:type="uml:Package" xmi:id="__Qta4L2pEeSe48NTDZ3Xhg" name="IXS">
@@ -1267,192 +1271,4 @@
             </defaultValue>
           </ownedAttribute>
-        </packagedElement>
-      </packagedElement>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Package" xmi:id="_BQqV4L2pEeSe48NTDZ3Xhg" name="Instances">
-      <packagedElement xmi:type="uml:Package" xmi:id="_HdUFYL2pEeSe48NTDZ3Xhg" name="RLUS">
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_CDZzwLzgEeSu8bCjKN8_hw" name="ListSemanticSignifiersRequest_spec" classifier="_w0vXYKCbEeSR_swKuhjZ_A">
-          <slot xmi:type="uml:Slot" xmi:id="_sEXpQLziEeSu8bCjKN8_hw" definingFeature="_km5yILziEeSu8bCjKN8_hw">
-            <value xmi:type="uml:LiteralString" xmi:id="_ygYqcLziEeSu8bCjKN8_hw"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_JdHMQLzgEeSu8bCjKN8_hw" name="ListSemanticSignifiersResponse_spec" classifier="_XK8dQKCcEeSR_swKuhjZ_A">
-          <slot xmi:type="uml:Slot" xmi:id="_1BPdoLziEeSu8bCjKN8_hw" definingFeature="_pptFUKChEeSR_swKuhjZ_A">
-            <value xmi:type="uml:LiteralString" xmi:id="_U1wYILzjEeSu8bCjKN8_hw" name="LiteralString_XDW" value="xdw"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_1v9IULzjEeSu8bCjKN8_hw" definingFeature="_pptFUKChEeSR_swKuhjZ_A">
-            <value xmi:type="uml:LiteralString" xmi:id="_70uHILzjEeSu8bCjKN8_hw" name="LiteralString_CDA2REPORT" value="cda2report"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_HDWVgMfWEeSYR7D_AlByKg" definingFeature="_pptFUKChEeSR_swKuhjZ_A">
-            <value xmi:type="uml:LiteralString" xmi:id="_OD5AEMfWEeSYR7D_AlByKg" name="" value="rlpnotes"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_EgFSQMf8EeSYR7D_AlByKg" name="put" classifier="_Kv7tUMcYEeSYR7D_AlByKg">
-          <slot xmi:type="uml:Slot" xmi:id="_Nv-wUMf8EeSYR7D_AlByKg" definingFeature="_ZAJOIMcZEeSYR7D_AlByKg">
-            <value xmi:type="uml:InstanceValue" xmi:id="__m28sMf_EeSYR7D_AlByKg" instance="_dkTksMf8EeSYR7D_AlByKg"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_UfjmsMf8EeSYR7D_AlByKg" definingFeature="_dkzFEMcZEeSYR7D_AlByKg"/>
-          <slot xmi:type="uml:Slot" xmi:id="_WiBNsMf8EeSYR7D_AlByKg" definingFeature="_izMckMcZEeSYR7D_AlByKg">
-            <value xmi:type="uml:LiteralString" xmi:id="_adEuAMf8EeSYR7D_AlByKg" value="INSERT"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_dkTksMf8EeSYR7D_AlByKg" name="ExampleDocument" classifier="_14bXIMcQEeSYR7D_AlByKg">
-          <slot xmi:type="uml:Slot" xmi:id="_kgD14Mf8EeSYR7D_AlByKg" definingFeature="_c20sIMcWEeSYR7D_AlByKg">
-            <value xmi:type="uml:LiteralString" xmi:id="_5qz8YMf8EeSYR7D_AlByKg" value="1.0"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_nLm2IMf8EeSYR7D_AlByKg" definingFeature="_hKPpIMcWEeSYR7D_AlByKg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_39Q1cMf8EeSYR7D_AlByKg" name="" instance="_wNcqEMf8EeSYR7D_AlByKg"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_pOmooMf8EeSYR7D_AlByKg" definingFeature="_nOzMkMcWEeSYR7D_AlByKg">
-            <value xmi:type="uml:LiteralNull" xmi:id="_r2ZKQMf8EeSYR7D_AlByKg"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_wNcqEMf8EeSYR7D_AlByKg" name="ExampleMetadata">
-          <slot xmi:type="uml:Slot" xmi:id="_-kQXkMf8EeSYR7D_AlByKg" definingFeature="_nJkjwMcVEeSYR7D_AlByKg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_ZEHFEMf-EeSYR7D_AlByKg" instance="_O-LW4Mf-EeSYR7D_AlByKg"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_DdNqkMf9EeSYR7D_AlByKg" definingFeature="_nJkjwMcVEeSYR7D_AlByKg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_bDbRcMf-EeSYR7D_AlByKg" instance="_SOwW0Mf-EeSYR7D_AlByKg"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_O-LW4Mf-EeSYR7D_AlByKg" name="DocumentIDParamenter" classifier="_74HWwMcSEeSYR7D_AlByKg">
-          <slot xmi:type="uml:Slot" xmi:id="_faHk4Mf-EeSYR7D_AlByKg" definingFeature="_BW_aQMcTEeSYR7D_AlByKg">
-            <value xmi:type="uml:LiteralString" xmi:id="_qQT14Mf_EeSYR7D_AlByKg" value="id"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_iGXvwMf-EeSYR7D_AlByKg" definingFeature="_E-KVQMcTEeSYR7D_AlByKg">
-            <value xmi:type="uml:LiteralString" xmi:id="_rv1u8Mf_EeSYR7D_AlByKg" value="doc1"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_SOwW0Mf-EeSYR7D_AlByKg" name="PatientIDParameter" classifier="_74HWwMcSEeSYR7D_AlByKg">
-          <slot xmi:type="uml:Slot" xmi:id="_jdgh0Mf-EeSYR7D_AlByKg" definingFeature="_BW_aQMcTEeSYR7D_AlByKg">
-            <value xmi:type="uml:LiteralString" xmi:id="_uwfcgMf_EeSYR7D_AlByKg" value="subjectid"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_kZFZQMf-EeSYR7D_AlByKg" definingFeature="_E-KVQMcTEeSYR7D_AlByKg">
-            <value xmi:type="uml:LiteralString" xmi:id="_z1dyQMf_EeSYR7D_AlByKg" value="testpatient1"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_B1McgMgAEeSYR7D_AlByKg" name="OK_putResponse" classifier="_RAXOQLwPEeS8kt2gTxQkQg _VWhWMLwPEeS8kt2gTxQkQg">
-          <slot xmi:type="uml:Slot" xmi:id="_bQ4XQMgBEeSYR7D_AlByKg" definingFeature="_CcKvkLwQEeS8kt2gTxQkQg">
-            <value xmi:type="uml:LiteralBoolean" xmi:id="_fWuyUMgBEeSYR7D_AlByKg" value="true"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_F3E9kMgAEeSYR7D_AlByKg" name="FAIL_putResponse" classifier="_RAXOQLwPEeS8kt2gTxQkQg _VWhWMLwPEeS8kt2gTxQkQg">
-          <slot xmi:type="uml:Slot" xmi:id="_gk2LQMgBEeSYR7D_AlByKg" definingFeature="_CcKvkLwQEeS8kt2gTxQkQg">
-            <value xmi:type="uml:LiteralBoolean" xmi:id="_iOC9sMgBEeSYR7D_AlByKg"/>
-          </slot>
-        </packagedElement>
-      </packagedElement>
-      <packagedElement xmi:type="uml:Package" xmi:id="_Nul0IMD0EeSlO4e8QG-B1g" name="IXS">
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_c2b9AMD0EeSlO4e8QG-B1g" name="createSemanticSignifier_spec" classifier="_ct5U0L2uEeSe48NTDZ3Xhg">
-          <slot xmi:type="uml:Slot" xmi:id="_MA21EMD2EeSlO4e8QG-B1g" definingFeature="_k5zmUL2uEeSe48NTDZ3Xhg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_Uc_68MD2EeSlO4e8QG-B1g" type="_P4fsgL2qEeSe48NTDZ3Xhg" instance="_r0olMMD1EeSlO4e8QG-B1g"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_iPH48MD0EeSlO4e8QG-B1g" name="createSemanticSignifierResponse_spec" classifier="_ZQ7h4L2yEeSe48NTDZ3Xhg">
-          <slot xmi:type="uml:Slot" xmi:id="_I92FIMD4EeSlO4e8QG-B1g" definingFeature="_iV_B4L2yEeSe48NTDZ3Xhg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_RDXawMD4EeSlO4e8QG-B1g" type="_ssC68L2rEeSe48NTDZ3Xhg" instance="_eIFqwMD3EeSlO4e8QG-B1g"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_r0olMMD1EeSlO4e8QG-B1g" name="POCDPatientSignifier" classifier="_P4fsgL2qEeSe48NTDZ3Xhg">
-          <slot xmi:type="uml:Slot" xmi:id="_zIOuoMD1EeSlO4e8QG-B1g" definingFeature="_ugB2gL2qEeSe48NTDZ3Xhg">
-            <value xmi:type="uml:LiteralString" xmi:id="_gx1s8MfWEeSYR7D_AlByKg" value="POCDPatient"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_3rhToMD1EeSlO4e8QG-B1g" definingFeature="_3LvpcL2qEeSe48NTDZ3Xhg">
-            <value xmi:type="uml:LiteralString" xmi:id="_eoQ74MfXEeSYR7D_AlByKg" name="" value="pocdpatient"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_6b6XoMD1EeSlO4e8QG-B1g" definingFeature="_6qqnYL2qEeSe48NTDZ3Xhg">
-            <value xmi:type="uml:LiteralString" xmi:id="__wNNIMfXEeSYR7D_AlByKg" value="pocdpatient"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_8texoMD1EeSlO4e8QG-B1g" definingFeature="_983X8L2qEeSe48NTDZ3Xhg">
-            <value xmi:type="uml:LiteralString" xmi:id="_BPZvAMfYEeSYR7D_AlByKg" value="1.0"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_AeygEMD2EeSlO4e8QG-B1g" definingFeature="_BL-_UL2rEeSe48NTDZ3Xhg">
-            <value xmi:type="uml:LiteralString" xmi:id="_FpX_8MfYEeSYR7D_AlByKg" value="HW_POCD_MT000040.xsd"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_C0yHEMD2EeSlO4e8QG-B1g" definingFeature="_EAkm0L2rEeSe48NTDZ3Xhg">
-            <value xmi:type="uml:LiteralNull" xmi:id="_BNsFgMfdEeSYR7D_AlByKg"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_FfJbkMD2EeSlO4e8QG-B1g" definingFeature="_IkDZEL2rEeSe48NTDZ3Xhg">
-            <value xmi:type="uml:LiteralNull" xmi:id="_CSvpEMfdEeSYR7D_AlByKg"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_eIFqwMD3EeSlO4e8QG-B1g" name="OKStatus" classifier="_ssC68L2rEeSe48NTDZ3Xhg">
-          <slot xmi:type="uml:Slot" xmi:id="_h9JQwMD3EeSlO4e8QG-B1g" definingFeature="_0TChgL2rEeSe48NTDZ3Xhg">
-            <value xmi:type="uml:LiteralBoolean" xmi:id="_4YkU8MD3EeSlO4e8QG-B1g" name=""/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_mPf2wMD3EeSlO4e8QG-B1g" definingFeature="_5eItYL2rEeSe48NTDZ3Xhg">
-            <value xmi:type="uml:LiteralNull" xmi:id="_CLckQMD4EeSlO4e8QG-B1g"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_D2ZDIMD4EeSlO4e8QG-B1g" definingFeature="__Rt1kL2rEeSe48NTDZ3Xhg">
-            <value xmi:type="uml:LiteralNull" xmi:id="_FutPoMD4EeSlO4e8QG-B1g"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_mtY8AMfvEeSYR7D_AlByKg" name="createIdentityFromEntity_spec" classifier="_rYkCEMZ4EeSYR7D_AlByKg">
-          <slot xmi:type="uml:Slot" xmi:id="_zvgHcMfvEeSYR7D_AlByKg" definingFeature="_UBjp8MZ5EeSYR7D_AlByKg">
-            <value xmi:type="uml:LiteralString" xmi:id="_5u1MoMfvEeSYR7D_AlByKg" name="" value="midas"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_6qh_4MfvEeSYR7D_AlByKg" definingFeature="_YuO0cMZ5EeSYR7D_AlByKg">
-            <value xmi:type="uml:LiteralString" xmi:id="_Aoz8MMfwEeSYR7D_AlByKg" value="pocdpatient"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_Ks_W4MfwEeSYR7D_AlByKg" definingFeature="_dPdj8MZ5EeSYR7D_AlByKg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_hpz38MfwEeSYR7D_AlByKg" instance="_QBfWYMfwEeSYR7D_AlByKg"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_QBfWYMfwEeSYR7D_AlByKg" name="ExampleTraits" classifier="_1CvGgMZmEeSYR7D_AlByKg">
-          <slot xmi:type="uml:Slot" xmi:id="_X4MM4MfwEeSYR7D_AlByKg" definingFeature="_PZtaQMZnEeSYR7D_AlByKg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_B0fk0MfzEeSYR7D_AlByKg" instance="_scGV0MfwEeSYR7D_AlByKg"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_NsT1cMf1EeSYR7D_AlByKg" definingFeature="_wgHoMMZsEeSYR7D_AlByKg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_TsSa4Mf1EeSYR7D_AlByKg" instance="_PDR6UMfzEeSYR7D_AlByKg"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_scGV0MfwEeSYR7D_AlByKg" name="ExampleID" classifier="_UWjRgLwQEeS8kt2gTxQkQg">
-          <slot xmi:type="uml:Slot" xmi:id="_x-VPUMfwEeSYR7D_AlByKg" definingFeature="_cmDpkLwQEeS8kt2gTxQkQg">
-            <value xmi:type="uml:LiteralString" xmi:id="_vHnO8MfyEeSYR7D_AlByKg" value="2.16.840.1.113883.2.9.4.3.2"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_1cG9wMfwEeSYR7D_AlByKg" definingFeature="_gMtAILwQEeS8kt2gTxQkQg">
-            <value xmi:type="uml:LiteralString" xmi:id="_xcMgsMfyEeSYR7D_AlByKg" value="testpatient1"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_PDR6UMfzEeSYR7D_AlByKg" name="ExamplePatient" classifier="_XPGpMMZnEeSYR7D_AlByKg">
-          <slot xmi:type="uml:Slot" xmi:id="_WdS00MfzEeSYR7D_AlByKg" definingFeature="_mIZYsMZnEeSYR7D_AlByKg"/>
-          <slot xmi:type="uml:Slot" xmi:id="_bCGcwMfzEeSYR7D_AlByKg" definingFeature="_faYPQMZsEeSYR7D_AlByKg"/>
-          <slot xmi:type="uml:Slot" xmi:id="_YeRYoMf0EeSYR7D_AlByKg" definingFeature="_hZHMsMf0EeSYR7D_AlByKg"/>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_ucn7wMfzEeSYR7D_AlByKg" name="ExampleName" classifier="_YorEMMZnEeSYR7D_AlByKg">
-          <slot xmi:type="uml:Slot" xmi:id="_yL8tMMfzEeSYR7D_AlByKg" definingFeature="_cz2rMMZnEeSYR7D_AlByKg">
-            <value xmi:type="uml:LiteralString" xmi:id="_3rthgMfzEeSYR7D_AlByKg" value="Pat"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_4b0IwMfzEeSYR7D_AlByKg" definingFeature="_glBPsMZnEeSYR7D_AlByKg">
-            <value xmi:type="uml:LiteralString" xmi:id="_7c-zsMfzEeSYR7D_AlByKg" value="Test"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_9QQvMMfzEeSYR7D_AlByKg" name="ExampleGender" classifier="_Y6W30MZsEeSYR7D_AlByKg">
-          <slot xmi:type="uml:Slot" xmi:id="_KKSVoMf0EeSYR7D_AlByKg" definingFeature="_aUc3QMZsEeSYR7D_AlByKg">
-            <value xmi:type="uml:LiteralString" xmi:id="_VcZjEMf0EeSYR7D_AlByKg" value="2.16.840.1.113883.5.1"/>
-          </slot>
-          <slot xmi:type="uml:Slot" xmi:id="_MszVsMf0EeSYR7D_AlByKg" definingFeature="_bywoUMZsEeSYR7D_AlByKg">
-            <value xmi:type="uml:LiteralString" xmi:id="_S7oPcMf0EeSYR7D_AlByKg" value="M"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_10PNEMf0EeSYR7D_AlByKg" name="ExampleBirthTime" classifier="_A2L3sMZtEeSYR7D_AlByKg">
-          <slot xmi:type="uml:Slot" xmi:id="_6E5xAMf0EeSYR7D_AlByKg" definingFeature="_D0_yMMZtEeSYR7D_AlByKg">
-            <value xmi:type="uml:LiteralString" xmi:id="_AQABUMf1EeSYR7D_AlByKg" value="19560602"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_caPCcMf1EeSYR7D_AlByKg" name="OK_createIdentityFromEntityResponse_spec" classifier="_nUTF8MZ5EeSYR7D_AlByKg">
-          <slot xmi:type="uml:Slot" xmi:id="_-5ed0Mf1EeSYR7D_AlByKg" definingFeature="_-RyVYMZ5EeSYR7D_AlByKg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_JJSgwMf2EeSYR7D_AlByKg" instance="_eIFqwMD3EeSlO4e8QG-B1g"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_jVpVYMf1EeSYR7D_AlByKg" name="FAIL_createIdentityFromEntityResponse_spec" classifier="_nUTF8MZ5EeSYR7D_AlByKg">
-          <slot xmi:type="uml:Slot" xmi:id="_J74bUMf2EeSYR7D_AlByKg" definingFeature="_iV_B4L2yEeSe48NTDZ3Xhg">
-            <value xmi:type="uml:InstanceValue" xmi:id="_RiZgwMf2EeSYR7D_AlByKg" instance="_pIW64Mf1EeSYR7D_AlByKg"/>
-          </slot>
-        </packagedElement>
-        <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_pIW64Mf1EeSYR7D_AlByKg" name="FAILStatus" classifier="_ssC68L2rEeSe48NTDZ3Xhg">
-          <slot xmi:type="uml:Slot" xmi:id="_rhQE4Mf1EeSYR7D_AlByKg" definingFeature="_0TChgL2rEeSe48NTDZ3Xhg">
-            <value xmi:type="uml:LiteralBoolean" xmi:id="_1pjKkMf1EeSYR7D_AlByKg"/>
-          </slot>
         </packagedElement>
       </packagedElement>
@@ -1474,5 +1290,5 @@
           </ownedOperation>
           <ownedOperation xmi:type="uml:Operation" xmi:id="_sFD4wLwREeS8kt2gTxQkQg" name="findSemanticSignifier">
-            <ownedParameter xmi:type="uml:Parameter" xmi:id="_MKDfQLwSEeS8kt2gTxQkQg" name="request"/>
+            <ownedParameter xmi:type="uml:Parameter" xmi:id="_MKDfQLwSEeS8kt2gTxQkQg" name="request" type="_XENlYMvZEeSyCug81TQDwA"/>
             <ownedParameter xmi:type="uml:Parameter" xmi:id="_TUbbQLwSEeS8kt2gTxQkQg" name="response" type="_5OOj4LwQEeS8kt2gTxQkQg" direction="return"/>
           </ownedOperation>
@@ -1508,5 +1324,5 @@
         <packagedElement xmi:type="uml:Component" xmi:id="_CrcpgKC4EeSR_swKuhjZ_A" clientDependency="_DQbpILEPEeSPMcTTAQ1qKQ" name="RLUSMetaDataPortType"/>
         <packagedElement xmi:type="uml:Component" xmi:id="_9yN0QKC4EeSR_swKuhjZ_A" name="RLUSMetaDataTestContext"/>
-        <packagedElement xmi:type="uml:Component" xmi:id="_X3xRwKDCEeSR_swKuhjZ_A" name="RLUSTestSuite_1" classifierBehavior="_iCR6QLzXEeSu8bCjKN8_hw">
+        <packagedElement xmi:type="uml:Component" xmi:id="_X3xRwKDCEeSR_swKuhjZ_A" name="RLUSTestSuite_1">
           <ownedAttribute xmi:type="uml:Property" xmi:id="_Heb2YKDDEeSR_swKuhjZ_A" name="rlusService" visibility="public" type="_Aow1gKC3EeSR_swKuhjZ_A">
             <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_LoBh8KDDEeSR_swKuhjZ_A" value="1"/>
@@ -1533,23 +1349,4 @@
             </end>
           </ownedConnector>
-          <ownedBehavior xmi:type="uml:Interaction" xmi:id="_iCR6QLzXEeSu8bCjKN8_hw" name="testcase_1_impl" specification="_R78v4LzXEeSu8bCjKN8_hw">
-            <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_baiRoMDyEeSlO4e8QG-B1g" name="MessageSend" covered="_UYMTYLzYEeSu8bCjKN8_hw" message="_bahqkMDyEeSlO4e8QG-B1g"/>
-            <fragment xmi:type="uml:BehaviorExecutionSpecification" xmi:id="_TowXYMDyEeSlO4e8QG-B1g" name="BehaviorExecSpec" covered="_UYMTYLzYEeSu8bCjKN8_hw" finish="_dKRw8cDyEeSlO4e8QG-B1g" start="_baiRoMDyEeSlO4e8QG-B1g"/>
-            <fragment xmi:type="uml:BehaviorExecutionSpecification" xmi:id="_UNxwAMDyEeSlO4e8QG-B1g" name="BehaviorExecSpec0" covered="_XqBQgLzYEeSu8bCjKN8_hw" finish="_dKRw8MDyEeSlO4e8QG-B1g" start="_bai4sMDyEeSlO4e8QG-B1g"/>
-            <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_bai4sMDyEeSlO4e8QG-B1g" name="MessageRecv" covered="_XqBQgLzYEeSu8bCjKN8_hw" message="_bahqkMDyEeSlO4e8QG-B1g"/>
-            <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_dKRw8MDyEeSlO4e8QG-B1g" name="Message0Send" covered="_XqBQgLzYEeSu8bCjKN8_hw" message="_dKRJ4MDyEeSlO4e8QG-B1g"/>
-            <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_dKRw8cDyEeSlO4e8QG-B1g" name="Message0Recv" covered="_UYMTYLzYEeSu8bCjKN8_hw" message="_dKRJ4MDyEeSlO4e8QG-B1g"/>
-            <lifeline xmi:type="uml:Lifeline" xmi:id="_UYMTYLzYEeSu8bCjKN8_hw" name="TestComponent" represents="_1c1AMKDEEeSR_swKuhjZ_A" coveredBy="_TowXYMDyEeSlO4e8QG-B1g _baiRoMDyEeSlO4e8QG-B1g _dKRw8cDyEeSlO4e8QG-B1g"/>
-            <lifeline xmi:type="uml:Lifeline" xmi:id="_XqBQgLzYEeSu8bCjKN8_hw" name="SUT" represents="_Heb2YKDDEeSR_swKuhjZ_A" coveredBy="_UNxwAMDyEeSlO4e8QG-B1g _bai4sMDyEeSlO4e8QG-B1g _dKRw8MDyEeSlO4e8QG-B1g"/>
-            <message xmi:type="uml:Message" xmi:id="_bahqkMDyEeSlO4e8QG-B1g" name="1:Message" connector="_PuBcEKDFEeSR_swKuhjZ_A" receiveEvent="_bai4sMDyEeSlO4e8QG-B1g" sendEvent="_baiRoMDyEeSlO4e8QG-B1g" signature="_0e4SkKC2EeSR_swKuhjZ_A">
-              <argument xmi:type="uml:InstanceValue" xmi:id="_3mVWkMZkEeSYR7D_AlByKg" name="request" type="_w0vXYKCbEeSR_swKuhjZ_A" instance="_CDZzwLzgEeSu8bCjKN8_hw"/>
-              <argument xmi:type="uml:LiteralNull" xmi:id="_5LrjwMZkEeSYR7D_AlByKg" name="response"/>
-            </message>
-            <message xmi:type="uml:Message" xmi:id="_dKRJ4MDyEeSlO4e8QG-B1g" name="2:Message" connector="_PuBcEKDFEeSR_swKuhjZ_A" messageSort="reply" receiveEvent="_dKRw8cDyEeSlO4e8QG-B1g" sendEvent="_dKRw8MDyEeSlO4e8QG-B1g" signature="_0e4SkKC2EeSR_swKuhjZ_A">
-              <argument xmi:type="uml:InstanceValue" xmi:id="_8EKz0MZkEeSYR7D_AlByKg" name="response" type="_XK8dQKCcEeSR_swKuhjZ_A" instance="_JdHMQLzgEeSu8bCjKN8_hw"/>
-              <argument xmi:type="uml:LiteralNull" xmi:id="_9NqLcMZkEeSYR7D_AlByKg" name="request"/>
-            </message>
-          </ownedBehavior>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_R78v4LzXEeSu8bCjKN8_hw" name="testcase_1" method="_iCR6QLzXEeSu8bCjKN8_hw"/>
         </packagedElement>
         <packagedElement xmi:type="uml:Component" xmi:id="_JyRr0KDEEeSR_swKuhjZ_A" name="RLUSEnvironment">
@@ -1594,5 +1391,5 @@
         <packagedElement xmi:type="uml:Component" xmi:id="_XvSrQLEVEeSPMcTTAQ1qKQ" clientDependency="_cK23oLEVEeSPMcTTAQ1qKQ" name="RLUSRLPNotesMQPortType"/>
         <packagedElement xmi:type="uml:InterfaceRealization" xmi:id="_cK23oLEVEeSPMcTTAQ1qKQ" name="Realization1" client="_XvSrQLEVEeSPMcTTAQ1qKQ" supplier="_G8nYQLEVEeSPMcTTAQ1qKQ" contract="_G8nYQLEVEeSPMcTTAQ1qKQ"/>
-        <packagedElement xmi:type="uml:Component" xmi:id="_Db-BkMdGEeSYR7D_AlByKg" name="RLUSTestSuite_2" classifierBehavior="_Kj0uoMgCEeSYR7D_AlByKg">
+        <packagedElement xmi:type="uml:Component" xmi:id="_Db-BkMdGEeSYR7D_AlByKg" name="RLUSTestSuite_2">
           <ownedAttribute xmi:type="uml:Property" xmi:id="_Y1zcwMfREeSYR7D_AlByKg" name="rlusService" visibility="public" type="_Aow1gKC3EeSR_swKuhjZ_A">
             <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_aAcq8MfREeSYR7D_AlByKg" value="1"/>
@@ -1613,37 +1410,4 @@
             </end>
           </ownedConnector>
-          <ownedBehavior xmi:type="uml:Interaction" xmi:id="_Kj0uoMgCEeSYR7D_AlByKg" name="rlus_mq_testcase_1" specification="_si1AMMgBEeSYR7D_AlByKg">
-            <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_nBxV8cgCEeSYR7D_AlByKg" name="MessageSend" message="_nBxV8MgCEeSYR7D_AlByKg"/>
-            <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_nBx9AMgCEeSYR7D_AlByKg" name="MessageRecv" message="_nBxV8MgCEeSYR7D_AlByKg"/>
-            <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_pS5EAMgCEeSYR7D_AlByKg" name="MessageSend0" message="_pS4c8MgCEeSYR7D_AlByKg"/>
-            <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_pS5rEMgCEeSYR7D_AlByKg" name="MessageRecv0" message="_pS4c8MgCEeSYR7D_AlByKg"/>
-            <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_tg6joMgCEeSYR7D_AlByKg" name="MessageSend1" message="_tg58kMgCEeSYR7D_AlByKg"/>
-            <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_tg6jocgCEeSYR7D_AlByKg" name="MessageRecv1" message="_tg58kMgCEeSYR7D_AlByKg"/>
-            <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_wIgQ8MgCEeSYR7D_AlByKg" name="MessageSend2" message="_wIfp4MgCEeSYR7D_AlByKg"/>
-            <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_wIgQ8cgCEeSYR7D_AlByKg" name="MessageRecv2" message="_wIfp4MgCEeSYR7D_AlByKg"/>
-            <fragment xmi:type="uml:BehaviorExecutionSpecification" xmi:id="_kAn5IMgCEeSYR7D_AlByKg" name="BehaviorExecSpec0" finish="_pS5EAMgCEeSYR7D_AlByKg" start="_nBx9AMgCEeSYR7D_AlByKg"/>
-            <fragment xmi:type="uml:BehaviorExecutionSpecification" xmi:id="_jJ66oMgCEeSYR7D_AlByKg" name="BehaviorExecSpec" finish="_pS5rEMgCEeSYR7D_AlByKg" start="_nBxV8cgCEeSYR7D_AlByKg"/>
-            <fragment xmi:type="uml:BehaviorExecutionSpecification" xmi:id="_rLm5IMgCEeSYR7D_AlByKg" name="BehaviorExecSpec2" finish="_wIgQ8MgCEeSYR7D_AlByKg" start="_tg6jocgCEeSYR7D_AlByKg"/>
-            <fragment xmi:type="uml:BehaviorExecutionSpecification" xmi:id="_qtnVkMgCEeSYR7D_AlByKg" name="BehaviorExecSpec1" finish="_wIgQ8cgCEeSYR7D_AlByKg" start="_tg6joMgCEeSYR7D_AlByKg"/>
-            <lifeline xmi:type="uml:Lifeline" xmi:id="_Yt95IMgCEeSYR7D_AlByKg" name="environment" represents="_1c1AMKDEEeSR_swKuhjZ_A"/>
-            <lifeline xmi:type="uml:Lifeline" xmi:id="_ZeySEMgCEeSYR7D_AlByKg" name="rlusService" represents="_Heb2YKDDEeSR_swKuhjZ_A"/>
-            <message xmi:type="uml:Message" xmi:id="_nBxV8MgCEeSYR7D_AlByKg" name="1:put" receiveEvent="_nBx9AMgCEeSYR7D_AlByKg" sendEvent="_nBxV8cgCEeSYR7D_AlByKg" signature="_5tRh8Mc1EeSYR7D_AlByKg">
-              <argument xmi:type="uml:InstanceValue" xmi:id="_E4FeYMgDEeSYR7D_AlByKg" name="request" type="_Kv7tUMcYEeSYR7D_AlByKg" instance="_EgFSQMf8EeSYR7D_AlByKg"/>
-              <argument xmi:type="uml:LiteralNull" xmi:id="_G7ncYMgDEeSYR7D_AlByKg" name="response"/>
-            </message>
-            <message xmi:type="uml:Message" xmi:id="_pS4c8MgCEeSYR7D_AlByKg" name="2:putReply" messageSort="reply" receiveEvent="_pS5rEMgCEeSYR7D_AlByKg" sendEvent="_pS5EAMgCEeSYR7D_AlByKg" signature="_5tRh8Mc1EeSYR7D_AlByKg">
-              <argument xmi:type="uml:InstanceValue" xmi:id="_Mj894MgDEeSYR7D_AlByKg" name="response" type="_RAXOQLwPEeS8kt2gTxQkQg" instance="_B1McgMgAEeSYR7D_AlByKg"/>
-              <argument xmi:type="uml:LiteralNull" xmi:id="_NiCWwMgDEeSYR7D_AlByKg" name="request"/>
-            </message>
-            <message xmi:type="uml:Message" xmi:id="_tg58kMgCEeSYR7D_AlByKg" name="3:put2" receiveEvent="_tg6jocgCEeSYR7D_AlByKg" sendEvent="_tg6joMgCEeSYR7D_AlByKg" signature="_5tRh8Mc1EeSYR7D_AlByKg">
-              <argument xmi:type="uml:InstanceValue" xmi:id="_P1dx8MgDEeSYR7D_AlByKg" name="request" type="_Kv7tUMcYEeSYR7D_AlByKg" instance="_EgFSQMf8EeSYR7D_AlByKg"/>
-              <argument xmi:type="uml:LiteralNull" xmi:id="_SKuZIMgDEeSYR7D_AlByKg" name="response"/>
-            </message>
-            <message xmi:type="uml:Message" xmi:id="_wIfp4MgCEeSYR7D_AlByKg" name="4:putReply2" messageSort="reply" receiveEvent="_wIgQ8cgCEeSYR7D_AlByKg" sendEvent="_wIgQ8MgCEeSYR7D_AlByKg" signature="_5tRh8Mc1EeSYR7D_AlByKg">
-              <argument xmi:type="uml:InstanceValue" xmi:id="_Ujve8MgDEeSYR7D_AlByKg" name="response" type="_RAXOQLwPEeS8kt2gTxQkQg" instance="_F3E9kMgAEeSYR7D_AlByKg"/>
-              <argument xmi:type="uml:LiteralNull" xmi:id="_VmcSEMgDEeSYR7D_AlByKg" name="request"/>
-            </message>
-          </ownedBehavior>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_si1AMMgBEeSYR7D_AlByKg" name="rlus_mq_testcase_1" method="_Kj0uoMgCEeSYR7D_AlByKg"/>
         </packagedElement>
       </packagedElement>
@@ -1700,23 +1464,4 @@
             </end>
           </ownedConnector>
-          <ownedBehavior xmi:type="uml:Interaction" xmi:id="_jTKlUMDzEeSlO4e8QG-B1g" name="testcase_1_impl" specification="_lPfV0MD4EeSlO4e8QG-B1g">
-            <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_gHDKcMD6EeSjvrY9JxSQ3g" name="MessageRecv0" covered="_DEXGEMD0EeSlO4e8QG-B1g" message="_gHB8UMD6EeSjvrY9JxSQ3g"/>
-            <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_T4x2wMD6EeSjvrY9JxSQ3g" name="MessageSend" covered="_DEXGEMD0EeSlO4e8QG-B1g" message="_T4wooMD6EeSjvrY9JxSQ3g"/>
-            <fragment xmi:type="uml:BehaviorExecutionSpecification" xmi:id="_RCkeocD6EeSjvrY9JxSQ3g" name="BehaviorExecSpec" covered="_DEXGEMD0EeSlO4e8QG-B1g" finish="_gHDKcMD6EeSjvrY9JxSQ3g" start="_T4x2wMD6EeSjvrY9JxSQ3g"/>
-            <fragment xmi:type="uml:BehaviorExecutionSpecification" xmi:id="_RiBawMD6EeSjvrY9JxSQ3g" name="BehaviorExecSpec0" covered="_0vKiIMDzEeSlO4e8QG-B1g" finish="_gHCjYMD6EeSjvrY9JxSQ3g" start="_T4yd0MD6EeSjvrY9JxSQ3g"/>
-            <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_T4yd0MD6EeSjvrY9JxSQ3g" name="MessageRecv" covered="_0vKiIMDzEeSlO4e8QG-B1g" message="_T4wooMD6EeSjvrY9JxSQ3g"/>
-            <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_gHCjYMD6EeSjvrY9JxSQ3g" name="MessageSend0" covered="_0vKiIMDzEeSlO4e8QG-B1g" message="_gHB8UMD6EeSjvrY9JxSQ3g"/>
-            <lifeline xmi:type="uml:Lifeline" xmi:id="_0vKiIMDzEeSlO4e8QG-B1g" name="SUT" visibility="public" represents="_5o09kMDkEeSlO4e8QG-B1g" coveredBy="_RiBawMD6EeSjvrY9JxSQ3g _T4yd0MD6EeSjvrY9JxSQ3g _gHCjYMD6EeSjvrY9JxSQ3g"/>
-            <lifeline xmi:type="uml:Lifeline" xmi:id="_DEXGEMD0EeSlO4e8QG-B1g" name="ixsEnvironment" represents="_ZZWI4MDlEeSlO4e8QG-B1g" coveredBy="_RCkeocD6EeSjvrY9JxSQ3g _T4x2wMD6EeSjvrY9JxSQ3g _gHDKcMD6EeSjvrY9JxSQ3g"/>
-            <message xmi:type="uml:Message" xmi:id="_T4wooMD6EeSjvrY9JxSQ3g" name="1:Message" connector="_mYgG8MDlEeSlO4e8QG-B1g" receiveEvent="_T4yd0MD6EeSjvrY9JxSQ3g" sendEvent="_T4x2wMD6EeSjvrY9JxSQ3g" signature="_Fn150MDQEeSlO4e8QG-B1g">
-              <argument xmi:type="uml:InstanceValue" xmi:id="_8qhyAMD6EeSjvrY9JxSQ3g" name="request" type="_ct5U0L2uEeSe48NTDZ3Xhg" instance="_c2b9AMD0EeSlO4e8QG-B1g"/>
-              <argument xmi:type="uml:LiteralNull" xmi:id="_ce_V0MZkEeSYR7D_AlByKg" name="response"/>
-            </message>
-            <message xmi:type="uml:Message" xmi:id="_gHB8UMD6EeSjvrY9JxSQ3g" name="2:Message" connector="_mYgG8MDlEeSlO4e8QG-B1g" messageSort="reply" receiveEvent="_gHDKcMD6EeSjvrY9JxSQ3g" sendEvent="_gHCjYMD6EeSjvrY9JxSQ3g" signature="_Fn150MDQEeSlO4e8QG-B1g">
-              <argument xmi:type="uml:InstanceValue" xmi:id="_B_7wcMD7EeSjvrY9JxSQ3g" name="response" type="_ZQ7h4L2yEeSe48NTDZ3Xhg" instance="_iPH48MD0EeSlO4e8QG-B1g"/>
-              <argument xmi:type="uml:LiteralNull" xmi:id="_e3alwMZkEeSYR7D_AlByKg" name="request"/>
-            </message>
-          </ownedBehavior>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_lPfV0MD4EeSlO4e8QG-B1g" name="testcase_1" method="_jTKlUMDzEeSlO4e8QG-B1g"/>
         </packagedElement>
         <packagedElement xmi:type="uml:Component" xmi:id="_rCusUMDjEeSlO4e8QG-B1g" name="IXSTestEnvironment">
@@ -1772,5 +1517,5 @@
         <packagedElement xmi:type="uml:Component" xmi:id="_0AKlcMdGEeSYR7D_AlByKg" clientDependency="_6cGHEMdGEeSYR7D_AlByKg" name="IXSPOCDPatientPortType"/>
         <packagedElement xmi:type="uml:InterfaceRealization" xmi:id="_6cGHEMdGEeSYR7D_AlByKg" name="Realization1" client="_0AKlcMdGEeSYR7D_AlByKg" supplier="_ErLvEMc4EeSYR7D_AlByKg" contract="_ErLvEMc4EeSYR7D_AlByKg"/>
-        <packagedElement xmi:type="uml:Component" xmi:id="_Nc3pUMdHEeSYR7D_AlByKg" name="IXSTestSuite_2" classifierBehavior="_e_vPoMf2EeSYR7D_AlByKg">
+        <packagedElement xmi:type="uml:Component" xmi:id="_Nc3pUMdHEeSYR7D_AlByKg" name="IXSTestSuite_2">
           <ownedAttribute xmi:type="uml:Property" xmi:id="_Dw-GIMfTEeSYR7D_AlByKg" name="ixsService" visibility="public" type="_DjK-QMDOEeSlO4e8QG-B1g">
             <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_E2j1MMfTEeSYR7D_AlByKg" value="1"/>
@@ -1791,37 +1536,4 @@
             </end>
           </ownedConnector>
-          <ownedBehavior xmi:type="uml:Interaction" xmi:id="_e_vPoMf2EeSYR7D_AlByKg" name="ixs_mq_testcase_1" specification="_7DNhcMf2EeSYR7D_AlByKg">
-            <fragment xmi:type="uml:BehaviorExecutionSpecification" xmi:id="_LEivsMf6EeSYR7D_AlByKg" name="BehaviorExecSpec0" finish="_TS-wwMf6EeSYR7D_AlByKg" start="_O1vwccf6EeSYR7D_AlByKg"/>
-            <fragment xmi:type="uml:BehaviorExecutionSpecification" xmi:id="_KV2dsMf6EeSYR7D_AlByKg" name="BehaviorExecSpec" finish="_TS_X0Mf6EeSYR7D_AlByKg" start="_O1vwcMf6EeSYR7D_AlByKg"/>
-            <fragment xmi:type="uml:BehaviorExecutionSpecification" xmi:id="_vTPWgcf6EeSYR7D_AlByKg" name="BehaviorExecSpec1" finish="_3dkTocf6EeSYR7D_AlByKg" start="_ydwxwMf6EeSYR7D_AlByKg"/>
-            <fragment xmi:type="uml:BehaviorExecutionSpecification" xmi:id="_v3tVgcf6EeSYR7D_AlByKg" name="BehaviorExecSpec2" finish="_3dkToMf6EeSYR7D_AlByKg" start="_ydxY0Mf6EeSYR7D_AlByKg"/>
-            <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_O1vwcMf6EeSYR7D_AlByKg" name="MessageSend" message="_O1vJYMf6EeSYR7D_AlByKg"/>
-            <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_O1vwccf6EeSYR7D_AlByKg" name="MessageRecv" message="_O1vJYMf6EeSYR7D_AlByKg"/>
-            <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_TS-wwMf6EeSYR7D_AlByKg" name="MessageSend0" message="_TS-JsMf6EeSYR7D_AlByKg"/>
-            <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_TS_X0Mf6EeSYR7D_AlByKg" name="MessageRecv0" message="_TS-JsMf6EeSYR7D_AlByKg"/>
-            <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_ydwxwMf6EeSYR7D_AlByKg" name="MessageSend1" message="_ydwKsMf6EeSYR7D_AlByKg"/>
-            <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_ydxY0Mf6EeSYR7D_AlByKg" name="MessageRecv1" message="_ydwKsMf6EeSYR7D_AlByKg"/>
-            <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_3dkToMf6EeSYR7D_AlByKg" name="MessageSend2" message="_3djskMf6EeSYR7D_AlByKg"/>
-            <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_3dkTocf6EeSYR7D_AlByKg" name="MessageRecv2" message="_3djskMf6EeSYR7D_AlByKg"/>
-            <lifeline xmi:type="uml:Lifeline" xmi:id="_cF8ikMf3EeSYR7D_AlByKg" name="environment" represents="_ZZWI4MDlEeSlO4e8QG-B1g"/>
-            <lifeline xmi:type="uml:Lifeline" xmi:id="_eWvggMf3EeSYR7D_AlByKg" name="ixsService" represents="_5o09kMDkEeSlO4e8QG-B1g"/>
-            <message xmi:type="uml:Message" xmi:id="_O1vJYMf6EeSYR7D_AlByKg" name="1:createIdentityFromEntity" receiveEvent="_O1vwccf6EeSYR7D_AlByKg" sendEvent="_O1vwcMf6EeSYR7D_AlByKg" signature="_Op1wkMc4EeSYR7D_AlByKg">
-              <argument xmi:type="uml:InstanceValue" xmi:id="_hmFqAMf6EeSYR7D_AlByKg" name="request" type="_rYkCEMZ4EeSYR7D_AlByKg" instance="_mtY8AMfvEeSYR7D_AlByKg"/>
-              <argument xmi:type="uml:LiteralNull" xmi:id="_jLwnUMf6EeSYR7D_AlByKg" name="response"/>
-            </message>
-            <message xmi:type="uml:Message" xmi:id="_TS-JsMf6EeSYR7D_AlByKg" name="2:createEntityFromEntity_reply" messageSort="reply" receiveEvent="_TS_X0Mf6EeSYR7D_AlByKg" sendEvent="_TS-wwMf6EeSYR7D_AlByKg" signature="_Op1wkMc4EeSYR7D_AlByKg">
-              <argument xmi:type="uml:InstanceValue" xmi:id="_lwTnsMf6EeSYR7D_AlByKg" name="response" type="_nUTF8MZ5EeSYR7D_AlByKg" instance="_caPCcMf1EeSYR7D_AlByKg"/>
-              <argument xmi:type="uml:LiteralNull" xmi:id="_m3w_AMf6EeSYR7D_AlByKg" name="request"/>
-            </message>
-            <message xmi:type="uml:Message" xmi:id="_ydwKsMf6EeSYR7D_AlByKg" name="3:createIdentityFromEntity2" receiveEvent="_ydxY0Mf6EeSYR7D_AlByKg" sendEvent="_ydwxwMf6EeSYR7D_AlByKg" signature="_Op1wkMc4EeSYR7D_AlByKg">
-              <argument xmi:type="uml:InstanceValue" xmi:id="_CE10UMf7EeSYR7D_AlByKg" name="request" type="_rYkCEMZ4EeSYR7D_AlByKg" instance="_mtY8AMfvEeSYR7D_AlByKg"/>
-              <argument xmi:type="uml:LiteralNull" xmi:id="_DRWDsMf7EeSYR7D_AlByKg" name="response"/>
-            </message>
-            <message xmi:type="uml:Message" xmi:id="_3djskMf6EeSYR7D_AlByKg" name="createIdentityFromEntity2_reply" messageSort="reply" receiveEvent="_3dkTocf6EeSYR7D_AlByKg" sendEvent="_3dkToMf6EeSYR7D_AlByKg" signature="_Op1wkMc4EeSYR7D_AlByKg">
-              <argument xmi:type="uml:InstanceValue" xmi:id="_GHzTcMf7EeSYR7D_AlByKg" name="response" type="_nUTF8MZ5EeSYR7D_AlByKg" instance="_jVpVYMf1EeSYR7D_AlByKg"/>
-              <argument xmi:type="uml:LiteralNull" xmi:id="_IKeV0Mf7EeSYR7D_AlByKg" name="request"/>
-            </message>
-          </ownedBehavior>
-          <ownedOperation xmi:type="uml:Operation" xmi:id="_7DNhcMf2EeSYR7D_AlByKg" name="ixs_mq_testcase_1" method="_e_vPoMf2EeSYR7D_AlByKg"/>
         </packagedElement>
       </packagedElement>
@@ -1850,14 +1562,10 @@
   <utp:SUT xmi:id="_kqUhwKDDEeSR_swKuhjZ_A" base_Property="_Heb2YKDDEeSR_swKuhjZ_A"/>
   <utp:TestComponent xmi:id="_pKr5IKDEEeSR_swKuhjZ_A" base_StructuredClassifier="_JyRr0KDEEeSR_swKuhjZ_A"/>
-  <utp:TestCase xmi:id="_aaC9kLzXEeSu8bCjKN8_hw" base_Operation="_R78v4LzXEeSu8bCjKN8_hw"/>
   <utp:TestContext xmi:id="_m_364MDjEeSlO4e8QG-B1g" base_BehavioredClassifier="_awaUYMDjEeSlO4e8QG-B1g" base_StructuredClassifier="_awaUYMDjEeSlO4e8QG-B1g"/>
   <utp:TestComponent xmi:id="_vLsFwMDjEeSlO4e8QG-B1g" base_StructuredClassifier="_rCusUMDjEeSlO4e8QG-B1g"/>
   <utp:SUT xmi:id="_K06PEMDlEeSlO4e8QG-B1g" base_Property="_5o09kMDkEeSlO4e8QG-B1g"/>
-  <utp:TestCase xmi:id="_qo_KEMD4EeSlO4e8QG-B1g" base_Operation="_lPfV0MD4EeSlO4e8QG-B1g"/>
   <utp:TestContext xmi:id="_JnER4MdGEeSYR7D_AlByKg" base_BehavioredClassifier="_Db-BkMdGEeSYR7D_AlByKg" base_StructuredClassifier="_Db-BkMdGEeSYR7D_AlByKg"/>
   <utp:TestContext xmi:id="_XlOZYMdHEeSYR7D_AlByKg" base_BehavioredClassifier="_Nc3pUMdHEeSYR7D_AlByKg" base_StructuredClassifier="_Nc3pUMdHEeSYR7D_AlByKg"/>
   <utp:SUT xmi:id="_KMWqoMfSEeSYR7D_AlByKg" base_Property="_Y1zcwMfREeSYR7D_AlByKg"/>
   <utp:SUT xmi:id="_LQUMkMfTEeSYR7D_AlByKg" base_Property="_Dw-GIMfTEeSYR7D_AlByKg"/>
-  <utp:TestCase xmi:id="_PTNP4Mf3EeSYR7D_AlByKg" base_Operation="_7DNhcMf2EeSYR7D_AlByKg"/>
-  <utp:TestCase xmi:id="_H-H3sMgCEeSYR7D_AlByKg" base_Operation="_si1AMMgBEeSYR7D_AlByKg"/>
 </xmi:XMI>
Index: /trunk/autoquest-plugin-uml-test/src/test/resources/ita_model_v2.uml
===================================================================
--- /trunk/autoquest-plugin-uml-test/src/test/resources/ita_model_v2.uml	(revision 1925)
+++ /trunk/autoquest-plugin-uml-test/src/test/resources/ita_model_v2.uml	(revision 1926)
@@ -170,5 +170,4 @@
         </end>
       </ownedConnector>
-      <ownedOperation xmi:type="uml:Operation" xmi:id="_k-fb8LHPEeS0dumc9hw2vw" name="functional_TestCase1"/>
     </packagedElement>
     <packagedElement xmi:type="uml:Component" xmi:id="_hwwbELETEeSnYZTmeJXZKg" name="Logistics_Environment">
@@ -220,20 +219,4 @@
         <subvertex xmi:type="uml:State" xmi:id="_FwmnMMcFEeSZe4KIZH8Y5w" name="StatePickUpDropOffConfirmed"/>
       </region>
-    </packagedElement>
-    <packagedElement xmi:type="uml:Interaction" xmi:id="_-N0LILHPEeS0dumc9hw2vw" name="Transport">
-      <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_mr5HEMcGEeSZe4KIZH8Y5w" name="MessageSendTransportInstruction" message="_mrUfUMcGEeSZe4KIZH8Y5w"/>
-      <fragment xmi:type="uml:MessageOccurrenceSpecification" xmi:id="_mr5HEccGEeSZe4KIZH8Y5w" name="MessageRecvTransportInstruction" message="_mrUfUMcGEeSZe4KIZH8Y5w"/>
-      <fragment xmi:type="uml:CombinedFragment" xmi:id="_7POBMMcGEeSZe4KIZH8Y5w" name="isAccepted" covered="_Fd7iwLHQEeS0dumc9hw2vw _M52hwLHQEeS0dumc9hw2vw" interactionOperator="alt">
-        <operand xmi:type="uml:InteractionOperand" xmi:id="_7Pyo8McGEeSZe4KIZH8Y5w" name="InteractionOperand" covered="_Fd7iwLHQEeS0dumc9hw2vw _M52hwLHQEeS0dumc9hw2vw">
-          <guard xmi:type="uml:InteractionConstraint" xmi:id="_7P-2MMcGEeSZe4KIZH8Y5w" name="">
-            <specification xmi:type="uml:LiteralString" xmi:id="_7P-2MccGEeSZe4KIZH8Y5w" value="undefined"/>
-            <maxint xmi:type="uml:LiteralInteger" xmi:id="_7P-2M8cGEeSZe4KIZH8Y5w" value="1"/>
-            <minint xmi:type="uml:LiteralInteger" xmi:id="_7P-2MscGEeSZe4KIZH8Y5w"/>
-          </guard>
-        </operand>
-      </fragment>
-      <lifeline xmi:type="uml:Lifeline" xmi:id="_Fd7iwLHQEeS0dumc9hw2vw" name="LifelineMaterialSupplier" represents="_LGETMLEQEeSnYZTmeJXZKg" coveredBy="_7POBMMcGEeSZe4KIZH8Y5w _7Pyo8McGEeSZe4KIZH8Y5w"/>
-      <lifeline xmi:type="uml:Lifeline" xmi:id="_M52hwLHQEeS0dumc9hw2vw" name="LifelineTransport" represents="_944gMLEPEeSnYZTmeJXZKg" coveredBy="_7POBMMcGEeSZe4KIZH8Y5w _7Pyo8McGEeSZe4KIZH8Y5w"/>
-      <message xmi:type="uml:Message" xmi:id="_mrUfUMcGEeSZe4KIZH8Y5w" name="TransportInstruction" connector="_ZMBvALEVEeSnYZTmeJXZKg" messageSort="asynchCall" receiveEvent="_mr5HEccGEeSZe4KIZH8Y5w" sendEvent="_mr5HEMcGEeSZe4KIZH8Y5w" signature="_YGXBELENEeSnYZTmeJXZKg"/>
     </packagedElement>
     <packagedElement xmi:type="uml:Actor" xmi:id="_jPjZ8MGeEeSgpOzAzVFJPA" name="MaterialSupplier"/>
@@ -536,4 +519,3 @@
   <utp:SUT xmi:id="_LBHaYLETEeSnYZTmeJXZKg" base_Property="_HczmILETEeSnYZTmeJXZKg"/>
   <utp:TestComponent xmi:id="_-93ZALEUEeSnYZTmeJXZKg" base_StructuredClassifier="_hwwbELETEeSnYZTmeJXZKg"/>
-  <utp:TestCase xmi:id="_qXb2kLHPEeS0dumc9hw2vw" base_Operation="_k-fb8LHPEeS0dumc9hw2vw"/>
 </xmi:XMI>
Index: /trunk/autoquest-plugin-uml/src/main/java/de/ugoe/cs/autoquest/plugin/uml/UMLUtils.java
===================================================================
--- /trunk/autoquest-plugin-uml/src/main/java/de/ugoe/cs/autoquest/plugin/uml/UMLUtils.java	(revision 1925)
+++ /trunk/autoquest-plugin-uml/src/main/java/de/ugoe/cs/autoquest/plugin/uml/UMLUtils.java	(revision 1926)
@@ -15,4 +15,6 @@
 package de.ugoe.cs.autoquest.plugin.uml;
 
+import java.io.StringWriter;
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -30,9 +32,18 @@
 import java.util.TreeSet;
 
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerException;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.TransformerFactoryConfigurationError;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+
 import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.URI;
 import org.eclipse.uml2.uml.Activity;
 import org.eclipse.uml2.uml.ActivityEdge;
 import org.eclipse.uml2.uml.ActivityNode;
 import org.eclipse.uml2.uml.CallConcurrencyKind;
+import org.eclipse.uml2.uml.CallEvent;
 import org.eclipse.uml2.uml.CallOperationAction;
 import org.eclipse.uml2.uml.Comment;
@@ -66,16 +77,24 @@
 import org.eclipse.uml2.uml.Property;
 import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.Relationship;
 import org.eclipse.uml2.uml.Slot;
 import org.eclipse.uml2.uml.StateMachine;
 import org.eclipse.uml2.uml.Stereotype;
 import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Trigger;
+import org.eclipse.uml2.uml.Type;
 import org.eclipse.uml2.uml.UMLPackage;
 import org.eclipse.uml2.uml.Vertex;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
 
 import de.ugoe.cs.autoquest.eventcore.Event;
+import de.ugoe.cs.autoquest.plugin.http.SOAPUtils;
 import de.ugoe.cs.autoquest.plugin.http.eventcore.SOAPEventType;
 import de.ugoe.cs.autoquest.plugin.http.eventcore.SimpleSOAPEventType;
 import de.ugoe.cs.autoquest.plugin.uml.eventcore.UMLTransitionType;
 import de.ugoe.cs.autoquest.usageprofiles.IStochasticProcess;
+import de.ugoe.cs.util.StringTools;
 import de.ugoe.cs.util.console.Console;
 
@@ -88,4 +107,12 @@
  */
 public class UMLUtils {
+
+    /**
+     * In case a multiplicity is defined as *, this value defines the highest one that can be picked
+     */
+    final static int MAX_MULTIPLICITY = 10;
+
+    final public static URI UML_PRIMITIVE_TYPES_URI = URI
+        .createURI("pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml", true);
 
     /**
@@ -135,7 +162,7 @@
         for (List<Event> sequence : sequences) {
             for (Event event : sequence) {
-                String serviceName = getServiceNameFromEvent(event);
-                String calledMethod = getCalledMethodFromEvent(event);
-                if( serviceName!=null ) {
+                String serviceName = SOAPUtils.getServiceNameFromEvent(event);
+                String calledMethod = SOAPUtils.getCalledMethodFromEvent(event);
+                if (serviceName != null) {
                     Set<String> curCalledMethods = calledMethods.get(serviceName);
                     if (curCalledMethods == null) {
@@ -152,6 +179,6 @@
         for (Entry<String, Set<String>> entry : calledMethods.entrySet()) {
             Console.traceln(Level.INFO, "\tService \"" + entry.getKey() + "\": ");
-            for(String method : entry.getValue()) {
-                Console.traceln(Level.INFO, "\t\t"+method);
+            for (String method : entry.getValue()) {
+                Console.traceln(Level.INFO, "\t\t" + method);
             }
         }
@@ -204,7 +231,7 @@
                                     "\tFound the following realized interfaces for the service \"" +
                                         serviceName + "\": ");
-                    for( Interface intface : interfaces ) {
+                    for (Interface intface : interfaces) {
                         Console.traceln(Level.INFO, "\t" + intface.getName());
-                        for( Operation operation : intface.getAllOperations() ) {
+                        for (Operation operation : intface.getAllOperations()) {
                             Console.traceln(Level.INFO, "\t\t" + operation.getName());
                         }
@@ -235,6 +262,6 @@
      * <p>
      * Creates a sequence of events with {@link UMLTransitionType} as event type from a given
-     * sequence of events with the {@link SOAPEventType}, by matching the sequences to a state
-     * machine.
+     * sequence of events with the {@link SOAPEventType} or {@link SimpleSOAPEventType}, by matching
+     * the sequences to a state machine.
      * </p>
      * 
@@ -248,6 +275,8 @@
                                                           StateMachine stateMachine)
     {
+        System.out.println("foo");
         List<List<Transition>> matchingSequences =
             determineMatchingTransitionSequences(sequence, stateMachine);
+        System.out.println(matchingSequences.size());
 
         if (matchingSequences.size() != 1) {
@@ -370,47 +399,40 @@
         for (Iterator<Event> eventIterator = sequence.iterator(); eventIterator.hasNext();) {
             Event event = eventIterator.next();
-            if (event.getType() instanceof SOAPEventType) {
-                SOAPEventType eventType = (SOAPEventType) event.getType();
-                if (matchingSequences == null) {
-                    matchingSequences = new LinkedList<>();
-                    List<Transition> initialMatches = matchTransitions(allTransitions, eventType);
-                    for (Transition transition : initialMatches) {
-                        List<Transition> candidate = new LinkedList<>();
-                        candidate.add(transition);
-                        matchingSequences.add(candidate);
-                    }
-                    currentTransitions = initialMatches;
-                }
-                else {
-                    List<List<Transition>> nextMatchingSequences = new LinkedList<>();
-                    List<Transition> nextCurrentTransitions = new LinkedList<>();
-                    Iterator<Transition> currentTransitionIterator = currentTransitions.iterator();
-                    Iterator<List<Transition>> currentMatchingSequencesIterator =
-                        matchingSequences.iterator();
-                    while (currentTransitionIterator.hasNext()) {
-                        Transition currentTransition = currentTransitionIterator.next();
-                        List<Transition> currentMatch = currentMatchingSequencesIterator.next();
-
-                        List<Transition> matches =
-                            matchTransitions(currentTransition.getTarget().getOutgoings(),
-                                             eventType);
-                        if (matches.isEmpty()) {
-                            throw new RuntimeException("no matches found");
-                        }
-                        for (Transition matchingTransition : matches) {
-                            List<Transition> candidate = new LinkedList<>(currentMatch);
-                            candidate.add(matchingTransition);
-                            nextMatchingSequences.add(candidate);
-                            nextCurrentTransitions.add(matchingTransition);
-                        }
-                    }
-                    matchingSequences = nextMatchingSequences;
-                    currentTransitions = nextCurrentTransitions;
-                }
+            System.out.println(event);
+            System.out.println(matchingSequences);
+            if (matchingSequences == null) {
+                matchingSequences = new LinkedList<>();
+                List<Transition> initialMatches = matchTransitions(allTransitions, event);
+                for (Transition transition : initialMatches) {
+                    List<Transition> candidate = new LinkedList<>();
+                    candidate.add(transition);
+                    matchingSequences.add(candidate);
+                }
+                currentTransitions = initialMatches;
             }
             else {
-                throw new RuntimeException(
-                                           "Wrong event type. Only UMLTransitionType supported but was: " +
-                                               event.getType().getClass().getName());
+                List<List<Transition>> nextMatchingSequences = new LinkedList<>();
+                List<Transition> nextCurrentTransitions = new LinkedList<>();
+                Iterator<Transition> currentTransitionIterator = currentTransitions.iterator();
+                Iterator<List<Transition>> currentMatchingSequencesIterator =
+                    matchingSequences.iterator();
+                while (currentTransitionIterator.hasNext()) {
+                    Transition currentTransition = currentTransitionIterator.next();
+                    List<Transition> currentMatch = currentMatchingSequencesIterator.next();
+
+                    List<Transition> matches =
+                        matchTransitions(currentTransition.getTarget().getOutgoings(), event);
+                    if (matches.isEmpty()) {
+                        throw new RuntimeException("no matches found");
+                    }
+                    for (Transition matchingTransition : matches) {
+                        List<Transition> candidate = new LinkedList<>(currentMatch);
+                        candidate.add(matchingTransition);
+                        nextMatchingSequences.add(candidate);
+                        nextCurrentTransitions.add(matchingTransition);
+                    }
+                }
+                matchingSequences = nextMatchingSequences;
+                currentTransitions = nextCurrentTransitions;
             }
         }
@@ -444,4 +466,9 @@
         final Stereotype utpTestContext = (Stereotype) utpProfile.getOwnedMember("TestContext");
 
+        // add UML Primitive types
+        // final UMLResource umlRes = (UMLResource)
+        // model.eResource().getResourceSet().getResource(UML_PRIMITIVE_TYPES_URI, true);
+        // model = (Model) umlRes.getContents().get(0);
+
         Component testContext = fetchTestContext(model, utpTestContext, testContextName);
         if (testContext == null) {
@@ -485,21 +512,24 @@
         for (Event event : sequence) {
             if (!(event.equals(Event.STARTEVENT) || event.equals(Event.ENDEVENT))) {
-                String serviceName = getServiceNameFromEvent(event);
-                String methodName = getCalledMethodFromEvent(event);
-                String clientName = getClientNameFromEvent(event);
+                String serviceName = SOAPUtils.getServiceNameFromEvent(event);
+                String methodName = SOAPUtils.getCalledMethodFromEvent(event);
+                String clientName = SOAPUtils.getClientNameFromEvent(event);
+                String prefix = interactionName + ":" + i + ":" + methodName + "_";
                 // determine lifelines
                 Lifeline msgTargetLifeline;
                 Lifeline msgSourceLifeline;
-                
+
                 msgSourceLifeline = interaction.getLifeline(clientName);
                 msgTargetLifeline = interaction.getLifeline(serviceName);
-                
+
                 if (msgSourceLifeline == null) {
                     throw new RuntimeException(
-                                               "Error creating message: could not determine source lifeline for component: " + clientName);
+                                               "Error creating message: could not determine source lifeline for component: " +
+                                                   clientName);
                 }
                 if (msgTargetLifeline == null) {
                     throw new RuntimeException(
-                                               "Error creating message: could not determine target lifeline for component: " + serviceName);
+                                               "Error creating message: could not determine target lifeline for component: " +
+                                                   serviceName);
                 }
                 // determine correct target interface
@@ -541,11 +571,9 @@
                 // setup for both SYNCH and ASYNCH calls
                 MessageOccurrenceSpecification callSendFragment =
-                    (MessageOccurrenceSpecification) interaction
-                        .createFragment(i + ":" + methodName + "_callSendFragment",
-                                        UMLPackage.Literals.MESSAGE_OCCURRENCE_SPECIFICATION);
+                    (MessageOccurrenceSpecification) interaction.createFragment(prefix +
+                        "callSendFragment", UMLPackage.Literals.MESSAGE_OCCURRENCE_SPECIFICATION);
                 MessageOccurrenceSpecification callRecvFragment =
-                    (MessageOccurrenceSpecification) interaction
-                        .createFragment(i + ":" + methodName + "_callRecvFragment",
-                                        UMLPackage.Literals.MESSAGE_OCCURRENCE_SPECIFICATION);
+                    (MessageOccurrenceSpecification) interaction.createFragment(prefix +
+                        "callRecvFragment", UMLPackage.Literals.MESSAGE_OCCURRENCE_SPECIFICATION);
 
                 callSendFragment.setCovered(msgSourceLifeline);
@@ -554,6 +582,6 @@
                 // create call
                 Message callMessage = interaction.createMessage(methodName);
-                callMessage.setSignature(calledOperation); 
-                setMessageParameters(callMessage, calledOperation, event);
+                callMessage.setSignature(calledOperation);
+                setMessageParameters(callMessage, calledOperation, event, prefix);
                 callMessage.setConnector(inferConnector(msgSourceLifeline, msgTargetLifeline));
                 callMessage.setSendEvent(callSendFragment);
@@ -577,9 +605,9 @@
                     MessageOccurrenceSpecification replySendFragment =
                         (MessageOccurrenceSpecification) interaction
-                            .createFragment(i + ":" + methodName + "_replySendFragment",
+                            .createFragment(prefix + "replySendFragment",
                                             UMLPackage.Literals.MESSAGE_OCCURRENCE_SPECIFICATION);
                     MessageOccurrenceSpecification replyRecvFragment =
                         (MessageOccurrenceSpecification) interaction
-                            .createFragment(i + ":" + methodName + "_replyRecvFragment",
+                            .createFragment(prefix + "replyRecvFragment",
                                             UMLPackage.Literals.MESSAGE_OCCURRENCE_SPECIFICATION);
 
@@ -618,6 +646,4 @@
     }
 
-    
-
     /**
      * <p>
@@ -653,5 +679,9 @@
                             .getName();
                 }
-                eventSequence.add(new Event(new SimpleSOAPEventType(methodName, serviceName,""))); // TODO add client name
+                // eventSequence.add(new Event(new SimpleSOAPEventType(methodName, serviceName, "",
+                // ))); // TODO
+                // add
+                // client
+                // name
             }
         }
@@ -755,74 +785,4 @@
         }
         return result;
-    }
-
-    /**
-     * <p>
-     * Helper function to get the name of a service from a SOAP event.
-     * </p>
-     * 
-     * @param event
-     *            event for which the service name is retrieved
-     * @return service name
-     */
-    protected static String getServiceNameFromEvent(Event event) {
-        if (event.getType() instanceof SOAPEventType) {
-            return ((SOAPEventType) event.getType()).getServiceName();
-        }
-        else if (event.getType() instanceof SimpleSOAPEventType) {
-            return ((SimpleSOAPEventType) event.getType()).getServiceName();
-        }
-        else {
-            throw new RuntimeException(
-                                       "Wrong event type. Only SOAPEventType and SimpleSOAPEventType supported but was: " +
-                                           event.getType().getClass().getName());
-        }
-    }
-
-    /**
-     * 
-     * <p>
-     * Helper function to get the called method from a SOAP event
-     * </p>
-     * 
-     * @param event
-     *            event for which the called method is retrieved
-     * @return called method
-     */
-    private static String getCalledMethodFromEvent(Event event) {
-        if (event.getType() instanceof SOAPEventType) {
-            return ((SOAPEventType) event.getType()).getCalledMethod();
-        }
-        else if (event.getType() instanceof SimpleSOAPEventType) {
-            return ((SimpleSOAPEventType) event.getType()).getCalledMethod();
-        }
-        else {
-            throw new RuntimeException(
-                                       "Wrong event type. Only SOAPEventType and SimpleSOAPEventType supported but was: " +
-                                           event.getType().getClass().getName());
-        }
-    }
-    
-    /**
-     * <p>
-     * Helper function to get the name of a client from a SOAP event.
-     * </p>
-     * 
-     * @param event
-     *            event for which the client name is retrieved
-     * @return service name
-     */
-    protected static String getClientNameFromEvent(Event event) {
-        if (event.getType() instanceof SOAPEventType) {
-            return ((SOAPEventType) event.getType()).getClientName();
-        }
-        else if (event.getType() instanceof SimpleSOAPEventType) {
-            return ((SimpleSOAPEventType) event.getType()).getClientName();
-        }
-        else {
-            throw new RuntimeException(
-                                       "Wrong event type. Only SOAPEventType and SimpleSOAPEventType supported but was: " +
-                                           event.getType().getClass().getName());
-        }
     }
 
@@ -864,14 +824,38 @@
      * @return matching transitions
      */
-    private static List<Transition> matchTransitions(List<Transition> transitions,
-                                                     SOAPEventType eventType)
-    {
+    private static List<Transition> matchTransitions(List<Transition> transitions, Event event) {
+        String eventService = SOAPUtils.getServiceNameFromEvent(event);
+        String eventMethod = SOAPUtils.getCalledMethodFromEvent(event);
+
+        Map<Interface, String> interfaceServiceMap =
+            createInterfaceServiceMap(transitions.get(0).getModel());
+
         List<Transition> matching = new LinkedList<>();
         for (Transition transition : transitions) {
-            // String serviceName = transition.getName().split("\\.")[0]; // TODO service name check
-            String methodName = transition.getName().split("\\.")[1];
-            if (methodName.equals(eventType.getCalledMethod())) {
-                matching.add(transition);
-            }
+            EList<Trigger> triggers = transition.getTriggers();
+            if (triggers.size() == 1) {
+                if (triggers.get(0).getEvent() instanceof CallEvent) {
+                    CallEvent callEvent = (CallEvent) triggers.get(0).getEvent();
+                    String transitionMethod = callEvent.getOperation().getName();
+
+                    Interface intface = callEvent.getOperation().getInterface();
+                    for (Relationship relationship : intface.getRelationships()) {
+                        for (Element element : relationship.getRelatedElements()) {
+                            if (element instanceof Component) {
+
+                            }
+                        }
+                    }
+
+                    String transitionService =
+                        interfaceServiceMap.get(callEvent.getOperation().getInterface());
+                    if (eventMethod.equals(transitionMethod) &&
+                        eventService.equals(transitionService))
+                    {
+                        matching.add(transition);
+                    }
+                }
+            }
+
         }
         return matching;
@@ -970,36 +954,63 @@
         return null;
     }
-    
-    private static void setMessageParameters(Message callMessage, Operation calledOperation, Event event) {
+
+    private static Map<Interface, String> createInterfaceServiceMap(Model model) {
+        Map<Interface, String> interfaceServiceMap = new HashMap<>();
+        final Profile utpProfile = model.getModel().getAppliedProfile("utp");
+        final Stereotype utpTestComponent = (Stereotype) utpProfile.getOwnedMember("TestComponent");
+        final Stereotype utpSUT = (Stereotype) utpProfile.getOwnedMember("SUT");
+        final Stereotype utpTestContext = (Stereotype) utpProfile.getOwnedMember("TestContext");
+        List<Component> testContexts =
+            fetchTestContextRecursively(model.getModel(), utpTestContext);
+        for (Component testContext : testContexts) {
+            for (Property property : testContext.getAllAttributes()) {
+                if (property.getAppliedStereotypes().contains(utpSUT) ||
+                    property.getType().getAppliedStereotypes().contains(utpTestComponent))
+                {
+                    for (Interface intface : getRealizedInterfacesFromProperty(property)) {
+                        interfaceServiceMap.put(intface, property.getName());
+                    }
+                }
+            }
+        }
+        return interfaceServiceMap;
+    }
+
+    private static void setMessageParameters(Message callMessage,
+                                             Operation calledOperation,
+                                             Event event,
+                                             String prefix)
+    {
+        org.w3c.dom.Element requestBody = SOAPUtils.getSoapRequestBodyFromEvent(event);
+
         // Set parameters of operation
-        for( Parameter param : calledOperation.getOwnedParameters() ) {
-            Expression argument = (Expression) callMessage.createArgument(param.getName(), param.getType(), UMLPackage.Literals.EXPRESSION);
-            
-            if( param.getDirection()==ParameterDirectionKind.IN_LITERAL || param.getDirection()==ParameterDirectionKind.INOUT_LITERAL) {
-                if( param.getType() instanceof DataType ) {
-                    InstanceSpecification instSpec = createInstanceSpecification((DataType) param.getType(), event);
-                    
-                    InstanceValue value = (InstanceValue) argument.createOperand(null, param.getType(), UMLPackage.Literals.INSTANCE_VALUE);
-                    value.setInstance(instSpec);
-                }
-                else if( param.getType() instanceof PrimitiveType ) {
-                    if( "String".equals(param.getType().getName()) ) {
-                        LiteralString spec = (LiteralString) argument.createOperand(param.getName(), null, UMLPackage.Literals.LITERAL_STRING);
-                        spec.setValue("foobar"); // TODO needs to be real value
-                    }
-                    else if( "Integer".equals(param.getType().getName()) ) {
-                        LiteralInteger spec = (LiteralInteger) argument.createOperand(param.getName(), null, UMLPackage.Literals.LITERAL_INTEGER);
-                        spec.setValue(42); // TODO needs to be real value
-                    }
-                    else if( "Boolean".equals(param.getType().getName()) ) {
-                        LiteralBoolean spec = (LiteralBoolean) argument.createOperand(param.getName(), null, UMLPackage.Literals.LITERAL_BOOLEAN);
-                        spec.setValue(true); // TODO needs to be real value
-                    }
-                    else if( "Real".equals(param.getType().getName()) ) {
-                        LiteralReal spec = (LiteralReal) argument.createOperand(param.getName(), null, UMLPackage.Literals.LITERAL_REAL);
-                        spec.setValue(3.14); // TODO needs to be real value
-                    }
-                }
-            } else {
+        for (Parameter param : calledOperation.getOwnedParameters()) {
+            Expression argument =
+                (Expression) callMessage.createArgument(param.getName(), param.getType(),
+                                                        UMLPackage.Literals.EXPRESSION);
+
+            if (param.getDirection() == ParameterDirectionKind.IN_LITERAL ||
+                param.getDirection() == ParameterDirectionKind.INOUT_LITERAL)
+            {
+                if (param.getType() instanceof DataType) {
+                    List<org.w3c.dom.Element> paramNodes =
+                        getMatchingChildNode((DataType) param.getType(), requestBody);
+                    for (org.w3c.dom.Element paramNode : paramNodes) {
+                        InstanceSpecification instSpec =
+                            createInstanceSpecification((DataType) param.getType(), event, prefix,
+                                                        paramNode, "");
+
+                        InstanceValue value =
+                            (InstanceValue) argument
+                                .createOperand(null, param.getType(),
+                                               UMLPackage.Literals.INSTANCE_VALUE);
+                        value.setInstance(instSpec);
+                    }
+                }
+                else if (param.getType() instanceof PrimitiveType) {
+                    createOperandPrimitiveType(param, argument, requestBody);
+                }
+            }
+            else {
                 // set literalNull for out and return parameters
                 argument.createOperand(null, param.getType(), UMLPackage.Literals.LITERAL_NULL);
@@ -1007,51 +1018,267 @@
         }
     }
-    
-    public static InstanceSpecification createInstanceSpecification(DataType type, Event event) {
+
+    private static InstanceSpecification createInstanceSpecification(DataType type,
+                                                                     Event event,
+                                                                     String prefix,
+                                                                     org.w3c.dom.Element currentNode,
+                                                                     String path)
+    {
+        if ("".equals(path)) {
+            path = type.getName();
+        }
+        // System.out.println(path);
         String pkgUBTInstSpecs = "UBT_InstanceSpecifications";
         Model model = type.getModel();
         Package ubtInstSpecPkg = (Package) model.getOwnedMember(pkgUBTInstSpecs);
-        if( ubtInstSpecPkg==null ) {
-            ubtInstSpecPkg = (Package) type.getModel().createPackagedElement(pkgUBTInstSpecs, UMLPackage.Literals.PACKAGE);
-        }
-        String serviceName = getServiceNameFromEvent(event);
+        if (ubtInstSpecPkg == null) {
+            ubtInstSpecPkg =
+                (Package) type.getModel().createPackagedElement(pkgUBTInstSpecs,
+                                                                UMLPackage.Literals.PACKAGE);
+        }
+        String serviceName = SOAPUtils.getServiceNameFromEvent(event);
         Package serviceInstSpecPkg = (Package) ubtInstSpecPkg.getOwnedMember(serviceName);
-        if( serviceInstSpecPkg==null ) {
-            serviceInstSpecPkg = (Package) ubtInstSpecPkg.createPackagedElement(serviceName, UMLPackage.Literals.PACKAGE);
-        }
-        
-        InstanceSpecification instSpec = (InstanceSpecification) serviceInstSpecPkg.createPackagedElement("instspec_"+type.getName(), UMLPackage.Literals.INSTANCE_SPECIFICATION);
+        if (serviceInstSpecPkg == null) {
+            serviceInstSpecPkg =
+                (Package) ubtInstSpecPkg.createPackagedElement(serviceName,
+                                                               UMLPackage.Literals.PACKAGE);
+        }
+
+        InstanceSpecification instSpec =
+            (InstanceSpecification) serviceInstSpecPkg.createPackagedElement(prefix + "instspec_" +
+                type.getName(), UMLPackage.Literals.INSTANCE_SPECIFICATION);
         instSpec.getClassifiers().add(type);
-        for( Property prop : type.getAllAttributes() ) {
-            // TODO handle multiplicity
-            //int lowerBound = prop.getLower();
-            //int upperBound = prop.getUpper();
-            
+        for (Property prop : type.getAllAttributes()) {
+            if (prop.getType() instanceof PrimitiveType) {
+                createSlotPrimitiveType(instSpec, prop, currentNode, path);
+            }
+            else if (prop.getType() instanceof DataType) {
+                List<org.w3c.dom.Element> attributeNodes = null;
+                int multiplicityChosen = 0;
+                if (currentNode != null) {
+                    attributeNodes = getMatchingChildNode(prop, currentNode);
+                    multiplicityChosen = attributeNodes.size();
+                }
+
+                if (multiplicityChosen == 0 && prop.getLower() > 0) {
+                    if (currentNode != null) {
+                        Console.traceln(Level.WARNING,
+                                        "required attribute not found in SOAP message: " + path +
+                                            "." + prop.getName());
+                        Console
+                            .traceln(Level.WARNING,
+                                     "setting default values for this attribute and all its children");
+                        Console.traceln(Level.FINE, "XML structure of path:" + StringTools.ENDLINE +
+                            SOAPUtils.getSerialization(currentNode));
+                    }
+                    multiplicityChosen = prop.getLower();
+                }
+                for (int i = 0; i < multiplicityChosen; i++) {
+                    org.w3c.dom.Element attributeNode = null;
+                    if (attributeNodes != null && !attributeNodes.isEmpty()) {
+                        attributeNode = attributeNodes.get(i);
+                    }
+
+                    Slot slot = instSpec.createSlot();
+                    slot.setDefiningFeature(prop);
+
+                    InstanceValue value =
+                        (InstanceValue) slot.createValue(prop.getName() + "_" + i, prop.getType(),
+                                                         UMLPackage.Literals.INSTANCE_VALUE);
+                    value.setInstance(createInstanceSpecification((DataType) prop.getType(), event,
+                                                                  prefix, attributeNode, path +
+                                                                      "." + prop.getName()));
+                }
+            }
+            else {
+                Console.traceln(Level.SEVERE, "property neither DataType nor PrimitiveType: " +
+                    prop.getType());
+                // TODO abort?
+            }
+        }
+        return instSpec;
+    }
+
+    private static void createOperandPrimitiveType(Parameter param,
+                                                   Expression argument,
+                                                   org.w3c.dom.Element currentNode)
+    {
+        if ("String".equals(param.getType().getName())) {
+            LiteralString spec =
+                (LiteralString) argument.createOperand(param.getName(), null,
+                                                       UMLPackage.Literals.LITERAL_STRING);
+            spec.setValue("foobar"); // TODO needs to be real value
+        }
+        else if ("Integer".equals(param.getType().getName())) {
+            LiteralInteger spec =
+                (LiteralInteger) argument.createOperand(param.getName(), null,
+                                                        UMLPackage.Literals.LITERAL_INTEGER);
+            spec.setValue(42); // TODO needs to be real value
+        }
+        else if ("Boolean".equals(param.getType().getName())) {
+            LiteralBoolean spec =
+                (LiteralBoolean) argument.createOperand(param.getName(), null,
+                                                        UMLPackage.Literals.LITERAL_BOOLEAN);
+            spec.setValue(true); // TODO needs to be real value
+        }
+        else if ("Real".equals(param.getType().getName())) {
+            LiteralReal spec =
+                (LiteralReal) argument.createOperand(param.getName(), null,
+                                                     UMLPackage.Literals.LITERAL_REAL);
+            spec.setValue(3.14); // TODO needs to be real value
+        }
+    }
+
+    private static void createSlotPrimitiveType(InstanceSpecification instSpec,
+                                                Property prop,
+                                                org.w3c.dom.Element currentNode,
+                                                String path)
+    {
+        List<String> attributeValues = getPrimitiveTypeValuesFromElement(prop, currentNode);
+
+        if (attributeValues.isEmpty()) {
+            if (prop.getLower() == 0) {
+                // ignoring optional attribute
+                return;
+            }
+            else {
+                if (currentNode != null) {
+                    Console.traceln(Level.WARNING,
+                                    "required attribute not found in SOAP message: " + path + "." +
+                                        prop.getName());
+                    Console.traceln(Level.WARNING, "setting default values for this attribute");
+                }
+                Console.traceln(Level.FINE, "XML structure of path:" + StringTools.ENDLINE +
+                    SOAPUtils.getSerialization(currentNode));
+                attributeValues.add(null);
+            }
+        }
+        for (String attributeValue : attributeValues) {
             Slot slot = instSpec.createSlot();
             slot.setDefiningFeature(prop);
-            if( prop.getType() instanceof PrimitiveType ) {
-                if( "String".equals(prop.getType().getName()) ) {
-                    LiteralString value = (LiteralString) slot.createValue(prop.getName(), null, UMLPackage.Literals.LITERAL_STRING);
-                    value.setValue("foobar"); // TODO needs to be real value
-                }
-                else if( "Integer".equals(prop.getType().getName()) ) {
-                    LiteralInteger value = (LiteralInteger) slot.createValue(prop.getName(), null, UMLPackage.Literals.LITERAL_INTEGER);
-                    value.setValue(42); // TODO needs to be real value
-                }
-                else if( "Boolean".equals(prop.getType().getName()) ) {
-                    LiteralBoolean value = (LiteralBoolean) slot.createValue(prop.getName(), null, UMLPackage.Literals.LITERAL_BOOLEAN);
-                    value.setValue(true); // TODO needs to be real value
-                }
-                else if( "Real".equals(prop.getType().getName()) ) {
-                    LiteralReal value = (LiteralReal) slot.createValue(prop.getName(), null, UMLPackage.Literals.LITERAL_REAL);
+            if ("String".equals(prop.getType().getName())) {
+                LiteralString value =
+                    (LiteralString) slot.createValue(prop.getName(), null,
+                                                     UMLPackage.Literals.LITERAL_STRING);
+                if (attributeValue != null) {
+                    value.setValue(attributeValue);
+                }
+                else {
+                    value.setValue("foobar");
+                }
+            }
+            else if ("Integer".equals(prop.getType().getName())) {
+                LiteralInteger value =
+                    (LiteralInteger) slot.createValue(prop.getName(), null,
+                                                      UMLPackage.Literals.LITERAL_INTEGER);
+                if (attributeValue != null) {
+                    value.setValue(Integer.parseInt(attributeValue));
+                }
+                else {
+                    value.setValue(42);
+                }
+            }
+            else if ("Boolean".equals(prop.getType().getName())) {
+                LiteralBoolean value =
+                    (LiteralBoolean) slot.createValue(prop.getName(), null,
+                                                      UMLPackage.Literals.LITERAL_BOOLEAN);
+                if (attributeValue != null) {
+                    value.setValue(Boolean.parseBoolean(attributeValue));
+                }
+                else {
+                    value.setValue(true);
+                }
+            }
+            else if ("Real".equals(prop.getType().getName())) {
+                LiteralReal value =
+                    (LiteralReal) slot.createValue(prop.getName(), null,
+                                                   UMLPackage.Literals.LITERAL_REAL);
+                if (attributeValue != null) {
+                    value.setValue(Double.parseDouble(attributeValue));
+                }
+                else {
                     value.setValue(3.14); // TODO needs to be real value
                 }
             }
-            else if( prop.getType() instanceof DataType ) {
-                InstanceValue value = (InstanceValue) slot.createValue(prop.getName(), prop.getType(), UMLPackage.Literals.INSTANCE_VALUE);
-                value.setInstance(createInstanceSpecification((DataType) prop.getType(), event));
-            }
-        }
-        return instSpec;
-    }
+            else {
+                Console.traceln(Level.SEVERE, "could not create literal for primitive type: " +
+                    prop.getType().getName());
+                // TODO abort?
+            }
+        }
+    }
+
+    // TODO comment
+    private static List<org.w3c.dom.Element> getMatchingChildNode(Type type,
+                                                                  org.w3c.dom.Element parentNode)
+    {
+        return getMachingChildNode(type.getName(), parentNode);
+    }
+
+    // TODO comment
+    private static List<org.w3c.dom.Element> getMatchingChildNode(Property prop,
+                                                                  org.w3c.dom.Element parentNode)
+    {
+        return getMachingChildNode(prop.getName(), parentNode);
+    }
+
+    // TODO comment
+    private static List<org.w3c.dom.Element> getMachingChildNode(String typeNameRaw,
+                                                                 org.w3c.dom.Element parentNode)
+    {
+        List<org.w3c.dom.Element> matchingNodes = new ArrayList<>();
+        Node parameterNode = null;
+        if (parentNode != null) {
+            NodeList parameterNodes = parentNode.getChildNodes();
+            String[] typeNameSplit = typeNameRaw.split(":");
+            String typeName = typeNameSplit[typeNameSplit.length - 1];
+            for (int i = 0; i < parameterNodes.getLength(); i++) {
+                parameterNode = parameterNodes.item(i);
+                if (parameterNode.getNodeType() == Node.ELEMENT_NODE) {
+                    String[] parameterNodeSplit = parameterNode.getNodeName().split(":");
+                    String parameterNodeName = parameterNodeSplit[parameterNodeSplit.length - 1];
+                    if (typeName.equals(parameterNodeName)) {
+                        matchingNodes.add((org.w3c.dom.Element) parameterNode);
+                    }
+                }
+            }
+            /*
+             * if( !matchingSOAPFound) { Console.traceln(Level.WARNING,
+             * "could not look up name of parameter in SOAP request: " + typeName); if(
+             * elementCount==0 ) { Console.traceln(Level.INFO, "\tno parameters found"); } else {
+             * Console.traceln(Level.INFO, "\tparameters found:"); for( int i=0 ;
+             * i<parameterNodes.getLength(); i++ ) { if(
+             * parameterNodes.item(i).getNodeType()==Node.ELEMENT_NODE ) {
+             * Console.traceln(Level.INFO, "\t\t" + parameterNodes.item(i).getNodeName()); } } }
+             * Console.traceln(Level.WARNING,
+             * "using dummy values for this parameter (and nested values) instead"); }
+             */
+        }
+        return matchingNodes;
+    }
+
+    // TODO
+    private static List<String> getPrimitiveTypeValuesFromElement(Property prop,
+                                                                  org.w3c.dom.Element currentNode)
+    {
+        List<String> attributeValues = new LinkedList<>();
+
+        if (currentNode != null) {
+            // first check attributes of the node
+            Attr attribute = currentNode.getAttributeNode(prop.getName());
+            if (attribute != null) {
+                attributeValues.add(attribute.getValue());
+            }
+            else {
+                // now check elements
+                List<org.w3c.dom.Element> elements = getMatchingChildNode(prop, currentNode);
+                for (org.w3c.dom.Element element : elements) {
+                    attributeValues.add(element.getTextContent());
+                }
+            }
+        }
+
+        return attributeValues;
+    }
+
 }
