Index: /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/swt/InsertTextEquals.java
===================================================================
--- /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/swt/InsertTextEquals.java	(revision 363)
+++ /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/swt/InsertTextEquals.java	(revision 364)
@@ -16,4 +16,6 @@
 import de.ugoe.cs.eventbench.assertions.TextEqualsReplay;
 import de.ugoe.cs.eventbench.data.Event;
+import de.ugoe.cs.util.ArrayTools;
+
 import org.eclipse.swt.events.SelectionAdapter;
 import org.eclipse.swt.events.SelectionEvent;
@@ -58,5 +60,6 @@
 					item = item.getParentItem();
 					while( item!=null ) {
-						targetString = item.getText()+targetString;
+						// TODO the "." is hard coded for the JFCMonitor. should be flexible 
+						targetString = item.getText()+"."+targetString;
 						item = item.getParentItem();
 					}
@@ -106,7 +109,28 @@
 	private void buildTargetTree() {
 		for( String target : targets ) {
-			TreeItem item = new TreeItem(targetTree, SWT.NULL);
-			item.setText(target);
-			// TODO needs rule that "splits" targets if necessary
+			TreeItem currentParent = null;
+			TreeItem[] currentItems = targetTree.getItems();
+			
+			//TODO needs rule for target splitting. currently its hard coded for JFCEvent targets.
+			String[] targetParts = target.split("\\.\\[");
+			for( String targetPart : targetParts) {
+				String[] currentTexts = new String[currentItems.length];
+				for( int i=0; i<currentItems.length ; i++ ) {
+					currentTexts[i] = currentItems[i].getText();
+				}				
+				int index = ArrayTools.findIndex(currentTexts, targetPart);
+				if( index>= 0 ) {
+					currentParent = currentItems[index];
+				} else {
+					if( currentParent==null ) {
+						currentParent = new TreeItem(targetTree, SWT.NULL);
+						currentParent.setText(targetPart);
+					} else {
+						currentParent = new TreeItem(currentParent, SWT.NULL);
+						currentParent.setText("["+targetPart);
+					}
+				}
+				currentItems = currentParent.getItems();
+			}
 		}
 
Index: /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/swt/SequencesDialog.java
===================================================================
--- /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/swt/SequencesDialog.java	(revision 363)
+++ /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/swt/SequencesDialog.java	(revision 364)
@@ -116,8 +116,8 @@
 		if( SequenceInstanceOf.isCollectionOfSequences(dataObject)) {
 			sequences = (Collection<java.util.List<Event<?>>>) dataObject;
-			int seqDigits = 4; // TODO calculate seqDigits dynamically
+			int seqDigits = Integer.toString(sequences.size()).length();
 			int counter = 1;
 			for( java.util.List<Event<?>> sequence : sequences ) {
-				String seqName = "#"+Integer.toString(counter, seqDigits)+": "+sequence.size();
+				String seqName = "#"+String.format("%0"+seqDigits+"d", counter)+": "+sequence.size();
 				sequenceList.add(seqName);
 				counter++;
@@ -144,5 +144,8 @@
 			}
 		} else {
-			// TODO this should not happen - needs to be handled anyways
+			MessageBox messageBox = new MessageBox(shell, SWT.ERROR);
+			messageBox.setMessage("Internal error. Sequences object not of expected type!");
+			messageBox.setText("Error");
+			messageBox.open();
 		}
 	}
