Index: /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/efg/commands/CMDefgToMM.java
===================================================================
--- /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/efg/commands/CMDefgToMM.java	(revision 196)
+++ /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/efg/commands/CMDefgToMM.java	(revision 197)
@@ -10,4 +10,5 @@
 import de.ugoe.cs.eventbench.data.Event;
 import de.ugoe.cs.eventbench.data.GlobalDataContainer;
+import de.ugoe.cs.eventbench.efg.data.EFGEvent;
 import de.ugoe.cs.eventbench.models.FirstOrderMarkovModel;
 import de.ugoe.cs.util.console.Command;
@@ -53,26 +54,17 @@
 		for (EventType event : efgEvents) {
 			/*
-			 * Steffen (Question): I think the widgetId is only a hash value
-			 * identifying the target Is it sufficient as a target or should it
-			 * be somehow resolved into something more meaningful? If so, how?
-			 * Where is it available? There is some kind of GUI file with this
-			 * information, right? Should information of the GUI file be
-			 * resolved or the GUI file simply be associated with the EFG
-			 * internally. The best solution for this probably depends on the
-			 * test-case structure, which I have not analyzed yet.
+			 * the widgetId and eventId are only hash values, 
+			 * the "interpretation" is found in the GUI file. 
+			 */
+			String eventTarget = event.getWidgetId();
+			String eventId = event.getEventId();
+			
+			/* 
+			 * Not sure what these are used for.
+			String eventType = event.getType();
+			String eventAction = event.getAction();
 			 */
 
-			// both widget ID and eventType are always null in the sample EFGs
-			// ...
-			String eventTarget = event.getWidgetId();
-			//String eventType = event.getType();
-
-			/*
-			 * What is the Action? What is the difference between the Action and
-			 * the Type?
-			 */
-			String eventAction = event.getAction();
-
-			Event<?> myEvent = new Event<Object>(eventAction);
+			Event<?> myEvent = new EFGEvent(eventId);
 			myEvent.setTarget(eventTarget);
 			myEvents.add(myEvent);
@@ -90,14 +82,8 @@
 		Collection<List<Event<?>>> subsequences = new LinkedList<List<Event<?>>>();
 
-		/*
-		 * Code adapted from package
-		 * edu.umd.cs.guitar.testcase.plugin.TCPlugin#parseFollowRelations()
-		 * (part of testcase-generator-core)
-		 */
 		int efgSize = efgEvents.size();
 		for (int row = 0; row < efgSize; row++) {
 			for (int col = 0; col < efgSize; col++) {
 				int relation = efgGraph.getRow().get(row).getE().get(col);
-
 				// otherEvent is followed by currentEvent
 				if (relation != GUITARConstants.NO_EDGE) {
@@ -106,18 +92,4 @@
 					edge.add(myEvents.get(col));
 					subsequences.add(edge);
-
-					/*
-					 * Steffen (Question): What is the purpose of this if? What
-					 * is the difference between a normal and a reaching edge?
-					 * if (relation == GUITARConstants.REACHING_EDGE &&
-					 * !otherEvent.getEventId().equals(
-					 * currentEvent.getEventId())) { I probably don't need this
-					 * anyways, since for usage analysis only successors are
-					 * relevant Vector<EventType> p = null;//
-					 * preds.get(otherEvent); if (p == null) { p = new
-					 * Vector<EventType>(); }
-					 * 
-					 * p.add(currentEvent); preds.put(otherEvent, p); }
-					 */
 				}
 			}
Index: /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/efg/data/EFGEvent.java
===================================================================
--- /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/efg/data/EFGEvent.java	(revision 197)
+++ /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/efg/data/EFGEvent.java	(revision 197)
@@ -0,0 +1,17 @@
+package de.ugoe.cs.eventbench.efg.data;
+
+import de.ugoe.cs.eventbench.data.ReplayableEvent;
+
+public class EFGEvent extends ReplayableEvent<EFGReplayable> {
+	
+	/**
+	 * <p>
+	 * Id for object serialization.
+	 * </p>
+	 */
+	private static final long serialVersionUID = 1L;
+	
+	public EFGEvent(String type) {
+		super(type);
+	}
+}
Index: /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/efg/data/EFGReplayable.java
===================================================================
--- /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/efg/data/EFGReplayable.java	(revision 197)
+++ /trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/efg/data/EFGReplayable.java	(revision 197)
@@ -0,0 +1,26 @@
+package de.ugoe.cs.eventbench.efg.data;
+
+import de.ugoe.cs.eventbench.data.IReplayable;
+
+public class EFGReplayable implements IReplayable {
+
+	/**
+	 * <p>
+	 * Id for object serialization.
+	 * </p>
+	 */
+	private static final long serialVersionUID = 1L;
+
+	@Override
+	public String getReplay() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+	@Override
+	public String getTarget() {
+		// TODO Auto-generated method stub
+		return null;
+	}
+
+}
