Index: trunk/autoquest-plugin-uml/src/main/java/de/ugoe/cs/autoquest/plugin/uml/UMLInteractionCreator.java
===================================================================
--- trunk/autoquest-plugin-uml/src/main/java/de/ugoe/cs/autoquest/plugin/uml/UMLInteractionCreator.java	(revision 2008)
+++ trunk/autoquest-plugin-uml/src/main/java/de/ugoe/cs/autoquest/plugin/uml/UMLInteractionCreator.java	(revision 2009)
@@ -15,6 +15,8 @@
 package de.ugoe.cs.autoquest.plugin.uml;
 
+import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 import java.util.logging.Level;
@@ -45,4 +47,5 @@
 import org.eclipse.uml2.uml.Slot;
 import org.eclipse.uml2.uml.UMLPackage;
+import org.w3c.dom.Element;
 
 import de.ugoe.cs.autoquest.eventcore.Event;
@@ -75,5 +78,10 @@
      */
     private final boolean useRandomMsgBodies;
-
+    
+    /**
+     * TODO
+     */
+    private final Map<String, InstanceSpecification> instanceSpecificationCache;
+    
     /**
      * <p>
@@ -93,4 +101,5 @@
         this.testContextName = testContextName;
         this.useRandomMsgBodies = useRandomMsgBodies;
+        instanceSpecificationCache = new HashMap<String, InstanceSpecification>();
     }
 
@@ -316,5 +325,5 @@
                                       String prefix)
     {
-        org.w3c.dom.Element requestBody;
+        Element requestBody;
         if (SOAPUtils.isSOAPRequest(event)) {
             requestBody =
@@ -388,10 +397,10 @@
                                                  internalParameter.getType(),
                                                  UMLPackage.Literals.INSTANCE_VALUE);
-                            value
-                                .setInstance(createInstanceSpecification((DataType) internalParameter
-                                                                             .getType(),
-                                                                         instSpecPkg, prefix,
-                                                                         instSpecNumber, paramNode,
-                                                                         path));
+                            InstanceSpecification instSpec = createInstanceSpecification((DataType) internalParameter
+                                                                                        .getType(),
+                                                                                        instSpecPkg, prefix,
+                                                                                        instSpecNumber, paramNode,
+                                                                                        path);
+                            value.setInstance(instSpec);
                             /*
                              * InstanceValue value = (InstanceValue) argument .createOperand(null,
@@ -443,4 +452,7 @@
                                                               String path)
     {
+        if( instanceSpecificationCache.containsKey(SOAPUtils.getSerialization(currentNode)) ) {
+            return instanceSpecificationCache.get(SOAPUtils.getSerialization(currentNode));
+        }
         if ("".equals(path)) {
             path = type.getName();
@@ -505,4 +517,5 @@
             }
         }
+        instanceSpecificationCache.put(SOAPUtils.getSerialization(currentNode), instSpec);
         return instSpec;
     }
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 2008)
+++ trunk/autoquest-plugin-uml/src/main/java/de/ugoe/cs/autoquest/plugin/uml/UMLUtils.java	(revision 2009)
@@ -423,5 +423,5 @@
      *            defines is random request bodies are used or the body of the associated event
      */
-    public static Interaction createInteractionFromEventSequence(List<Event> sequence,
+    public static List<Interaction> createInteractionFromEventSequence(Collection<List<Event>> sequences,
                                                                  Model model,
                                                                  String interactionName,
@@ -429,6 +429,12 @@
                                                                  boolean useRandomMsgBodies)
     {
+        List<Interaction> interactions = new LinkedList<>();
         UMLInteractionCreator interactionCreator = new UMLInteractionCreator(model, testContextName, useRandomMsgBodies);
-        return interactionCreator.createInteraction(sequence, interactionName);
+        int i=0;
+        for( List<Event> sequence : sequences ) {
+            interactions.add(interactionCreator.createInteraction(sequence, interactionName+"_"+i));
+            i++;
+        }
+        return interactions;
     }
 
