Index: /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/jfc/JFCLogParser.java
===================================================================
--- /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/jfc/JFCLogParser.java	(revision 391)
+++ /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/jfc/JFCLogParser.java	(revision 392)
@@ -222,5 +222,5 @@
 			saxParser = spf.newSAXParser();
 			inputSource = new InputSource(new InputStreamReader(
-					new FileInputStream(filename), "UTF-16"));
+					new FileInputStream(filename), "UTF-8"));
 		} catch (UnsupportedEncodingException e) {
 			e.printStackTrace();
Index: /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/jfc/commands/CMDparseDirJFC.java
===================================================================
--- /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/jfc/commands/CMDparseDirJFC.java	(revision 391)
+++ /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/jfc/commands/CMDparseDirJFC.java	(revision 392)
@@ -64,4 +64,12 @@
 		Collection<List<JFCEvent>> sequences = parser.getSequences();
 		Console.traceln("Pre-computing event target equalities.");
+		// compare all Events to a dummy event to make sure they are known by
+		// the JFCTargetComparator
+		JFCEvent dummyEvent = new JFCEvent("dummy");
+		for (List<JFCEvent> sequence : sequences) {
+			for (JFCEvent event : sequence) {
+				event.equals(dummyEvent);
+			}
+		}
 		JFCTargetComparator.setMutable(false);
 
Index: /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/jfc/commands/CMDparseJFC.java
===================================================================
--- /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/jfc/commands/CMDparseJFC.java	(revision 391)
+++ /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/jfc/commands/CMDparseJFC.java	(revision 392)
@@ -44,11 +44,18 @@
 		JFCTargetComparator.setMutable(true);
 		JFCLogParser parser = new JFCLogParser();
-		
+
 		parser.parseFile(filename);
-		
+		Collection<List<JFCEvent>> sequences = parser.getSequences();
+
 		Console.traceln("Pre-computing event target equalities.");
+		// compare all Events to a dummy event to make sure they are known by
+		// the JFCTargetComparator
+		JFCEvent dummyEvent = new JFCEvent("dummy");
+		for (List<JFCEvent> sequence : sequences) {
+			for (JFCEvent event : sequence) {
+				event.equals(dummyEvent);
+			}
+		}
 		JFCTargetComparator.setMutable(false);
-
-		Collection<List<JFCEvent>> sequences = parser.getSequences();
 
 		if (GlobalDataContainer.getInstance().addData(sequencesName, sequences)) {
Index: /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/jfc/commands/CMDpreprocessDirJFC.java
===================================================================
--- /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/jfc/commands/CMDpreprocessDirJFC.java	(revision 391)
+++ /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/jfc/commands/CMDpreprocessDirJFC.java	(revision 392)
@@ -17,8 +17,8 @@
 /**
  * <p>
- * Command to pre-process files written by EventBench's JFCMonitor located in a directory. The only task
- * of the pre-processing is checking if the session was closed properly, i.e.,
- * if the XML file ends with a {@code </sessions>} tag. If this is not the case,
- * the tag will be appended to the file.
+ * Command to pre-process files written by EventBench's JFCMonitor located in a
+ * directory. The only task of the pre-processing is checking if the session was
+ * closed properly, i.e., if the XML file ends with a {@code </sessions>} tag.
+ * If this is not the case, the tag will be appended to the file.
  * </p>
  * 
@@ -50,10 +50,10 @@
 		String absolutPathSource = sourceFolder.getAbsolutePath();
 		File targetFolder = new File(targetPath);
-		if( !targetFolder.isDirectory()) {
+		if (!targetFolder.isDirectory()) {
 			Console.printerrln(targetPath + " is not a directory");
 		}
 		String absolutPathTarget = targetFolder.getAbsolutePath();
-		
-		for(String filename : sourceFolder.list()) {
+
+		for (String filename : sourceFolder.list()) {
 			String source = absolutPathSource + "/" + filename;
 			Console.traceln("Preprocessing file: " + source);
@@ -78,16 +78,17 @@
 				return;
 			}
-	
+
 			String content = new String(buffer).trim();
-	
+
 			int index = filename.lastIndexOf('.');
-			String target = absolutPathTarget + "/" + filename.substring(0, index) + ".xml"; 
-			
+			String target = absolutPathTarget + "/"
+					+ filename.substring(0, index) + ".xml";
+
 			Console.traceln("   Saving as: " + target);
-			
+
 			OutputStreamWriter writer;
 			try {
 				FileOutputStream fos = new FileOutputStream(target);
-				writer = new OutputStreamWriter(fos, "UTF-16");
+				writer = new OutputStreamWriter(fos, "UTF-8");
 			} catch (IOException e) {
 				Console.printerrln(e.getMessage());
Index: /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/jfc/commands/CMDpreprocessJFC.java
===================================================================
--- /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/jfc/commands/CMDpreprocessJFC.java	(revision 391)
+++ /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/jfc/commands/CMDpreprocessJFC.java	(revision 392)
@@ -17,8 +17,8 @@
 /**
  * <p>
- * Command to pre-process files written by EventBench's JFCMonitor. The only task
- * of the pre-processing is checking if the session was closed properly, i.e.,
- * if the XML file ends with a {@code </sessions>} tag. If this is not the case,
- * the tag will be appended to the file.
+ * Command to pre-process files written by EventBench's JFCMonitor. The only
+ * task of the pre-processing is checking if the session was closed properly,
+ * i.e., if the XML file ends with a {@code </sessions>} tag. If this is not the
+ * case, the tag will be appended to the file.
  * </p>
  * 
@@ -70,5 +70,5 @@
 		try {
 			FileOutputStream fos = new FileOutputStream(target);
-			writer = new OutputStreamWriter(fos, "UTF-16");
+			writer = new OutputStreamWriter(fos, "UTF-8");
 		} catch (IOException e) {
 			Console.printerrln(e.getMessage());
