Index: trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/commands/sequences/CMDcleanupKeyInteractions.java
===================================================================
--- trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/commands/sequences/CMDcleanupKeyInteractions.java	(revision 750)
+++ trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/commands/sequences/CMDcleanupKeyInteractions.java	(revision 750)
@@ -0,0 +1,95 @@
+
+package de.ugoe.cs.quest.commands.sequences;
+
+import java.security.InvalidParameterException;
+import java.util.Collection;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.logging.Level;
+
+import de.ugoe.cs.quest.CommandHelpers;
+import de.ugoe.cs.quest.SequenceInstanceOf;
+import de.ugoe.cs.quest.eventcore.Event;
+import de.ugoe.cs.quest.eventcore.gui.KeyInteractionCleaner;
+import de.ugoe.cs.quest.eventcore.gui.KeyInteractionCleaner.CleanupMode;
+import de.ugoe.cs.util.console.Command;
+import de.ugoe.cs.util.console.Console;
+import de.ugoe.cs.util.console.GlobalDataContainer;
+
+/**
+ * <p>
+ * TODO comment
+ * </p>
+ * 
+ * @version $Revision: $ $Date: Sep 3, 2012$
+ * @author 2012, last modified by $Author: sherbold$
+ */
+public class CMDcleanupKeyInteractions implements Command {
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.util.console.Command#run(java.util.List)
+     */
+    @SuppressWarnings("unchecked")
+    @Override
+    public void run(List<Object> parameters) {
+        String sequencesName = null;
+        String newSequencesName = null;
+        String modeString = null;
+        if (parameters.size() > 2) {
+            sequencesName = (String) parameters.get(0);
+            newSequencesName = (String) parameters.get(1);
+            modeString = (String) parameters.get(2);
+        }
+        else {
+            throw new InvalidParameterException();
+        }
+
+        Collection<List<Event>> sequences = null;
+        Object dataObject = GlobalDataContainer.getInstance().getData(sequencesName);
+        if (dataObject == null) {
+            CommandHelpers.objectNotFoundMessage(sequencesName);
+            return;
+        }
+        if (!SequenceInstanceOf.isCollectionOfSequences(dataObject)) {
+            CommandHelpers.objectNotType(sequencesName, "Collection<List<Event>>");
+            return;
+        }
+        sequences = (Collection<List<Event>>) dataObject;
+
+        KeyInteractionCleaner.CleanupMode mode = null;
+        try {
+            mode = CleanupMode.valueOf(modeString);
+        }
+        catch (IllegalArgumentException e) {
+            Console.printerrln("Invalid mode. Only REMOVAL and ADDITION are allowed values!");
+            return;
+        }
+
+        Collection<List<Event>> newSequences = new LinkedList<List<Event>>();
+        KeyInteractionCleaner cleaner = new KeyInteractionCleaner();
+
+        int i=0;
+        for (List<Event> sequence : sequences) {
+            Console.traceln(Level.INFO, "Cleaning up sequence " + i++);
+            newSequences.add(cleaner.cleanupKeyInteractions(sequence, mode));
+        }
+
+        if (GlobalDataContainer.getInstance().addData(newSequencesName, newSequences)) {
+            CommandHelpers.dataOverwritten(newSequencesName);
+        }
+
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.util.console.Command#help()
+     */
+    @Override
+    public String help() {
+        return "cleanupKeyInteractions <sequencesName> <newSequencesName> <mode>";
+    }
+
+}
Index: trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/commands/sequences/CMDcondenseMouseClicks.java
===================================================================
--- trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/commands/sequences/CMDcondenseMouseClicks.java	(revision 733)
+++ trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/commands/sequences/CMDcondenseMouseClicks.java	(revision 750)
@@ -80,5 +80,5 @@
 
         if (GlobalDataContainer.getInstance().addData(newSequencesName, newSequences)) {
-            CommandHelpers.dataOverwritten(sequencesName);
+            CommandHelpers.dataOverwritten(newSequencesName);
         }
         
Index: trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/commands/sequences/CMDcorrectKeyInteractionTargets.java
===================================================================
--- trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/commands/sequences/CMDcorrectKeyInteractionTargets.java	(revision 733)
+++ trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/commands/sequences/CMDcorrectKeyInteractionTargets.java	(revision 750)
@@ -81,5 +81,5 @@
 
         if (GlobalDataContainer.getInstance().addData(newSequencesName, newSequences)) {
-            CommandHelpers.dataOverwritten(sequencesName);
+            CommandHelpers.dataOverwritten(newSequencesName);
         }
         
Index: trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/commands/sequences/CMDdetectTextInputEvents.java
===================================================================
--- trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/commands/sequences/CMDdetectTextInputEvents.java	(revision 733)
+++ trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/commands/sequences/CMDdetectTextInputEvents.java	(revision 750)
@@ -77,5 +77,5 @@
 
         if (GlobalDataContainer.getInstance().addData(newSequencesName, newSequences)) {
-            CommandHelpers.dataOverwritten(sequencesName);
+            CommandHelpers.dataOverwritten(newSequencesName);
         }
         
Index: trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/commands/sequences/CMDsortKeyInteractions.java
===================================================================
--- trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/commands/sequences/CMDsortKeyInteractions.java	(revision 733)
+++ trunk/quest-ui-core/src/main/java/de/ugoe/cs/quest/commands/sequences/CMDsortKeyInteractions.java	(revision 750)
@@ -104,5 +104,5 @@
 
         if (GlobalDataContainer.getInstance().addData(newSequencesName, newSequences)) {
-            CommandHelpers.dataOverwritten(sequencesName);
+            CommandHelpers.dataOverwritten(newSequencesName);
         }
         
Index: trunk/quest-ui-core/src/main/resources/manuals/cleanupKeyInteractions
===================================================================
--- trunk/quest-ui-core/src/main/resources/manuals/cleanupKeyInteractions	(revision 750)
+++ trunk/quest-ui-core/src/main/resources/manuals/cleanupKeyInteractions	(revision 750)
@@ -0,0 +1,10 @@
+Deletes an object, e.g., a selection of sequences, from the global data storage.
+
+$USAGE$
+<sequencesName> name of the sequences to be cleaned-up
+<neqSequencesName> name of the cleaned-up sequences
+<mode> defines whether KeyReleased events without a matching KeyPressed are removed (mode: REMOVAL) or if a matching KeyPressed event is added directly in front of the KeyReleased event (mode: ADDITION)
+
+Example(s):
+cleanupKeyInteractions sequences cleanedSequences REMOVAL
+cleanupKeyInteractions sequences cleanedSequences ADDITION
