Index: trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/web/data/WebEvent.java
===================================================================
--- trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/web/data/WebEvent.java	(revision 299)
+++ trunk/EventBenchConsole/src/de/ugoe/cs/eventbench/web/data/WebEvent.java	(revision 300)
@@ -19,5 +19,7 @@
 
 	/**
+	 * <p>
 	 * Timestamp of the event.
+	 * </p>
 	 */
 	private final long timestamp;
Index: trunk/EventBenchConsole/src/de/ugoe/cs/eventbensch/jfc/JFCLogParser.java
===================================================================
--- trunk/EventBenchConsole/src/de/ugoe/cs/eventbensch/jfc/JFCLogParser.java	(revision 299)
+++ trunk/EventBenchConsole/src/de/ugoe/cs/eventbensch/jfc/JFCLogParser.java	(revision 300)
@@ -9,4 +9,5 @@
 import java.security.InvalidParameterException;
 import java.util.Collection;
+import java.util.LinkedList;
 import java.util.List;
 
@@ -42,5 +43,40 @@
 	 * </p>
 	 */
-	Collection<List<JFCEvent>> sequences;
+	private Collection<List<JFCEvent>> sequences;
+
+	/**
+	 * <p>
+	 * Internal handle to the event that is currently being parsed.
+	 * </p>
+	 */
+	private JFCEvent currentEvent;
+
+	/**
+	 * <p>
+	 * Internal handle to the event sequence that is currently being parsed.
+	 * </p>
+	 */
+	private List<JFCEvent> currentSequence = null;
+
+	/**
+	 * <p>
+	 * Enumeration to differentiate if a parameter belongs to an event, a source
+	 * or the parent of a source.
+	 * </p>
+	 * 
+	 * @author Steffen Herbold
+	 * @version 1.0
+	 */
+	private enum ParamSource {
+		EVENT, SOURCE, PARENT
+	};
+
+	/**
+	 * <p>
+	 * Specifies whether the parameters that are currently being read belong the
+	 * the event, the source or the parent.
+	 * </p>
+	 */
+	ParamSource paramSource = null;
 
 	/**
@@ -66,9 +102,26 @@
 		if (qName.equals("newsession")) {
 			Console.traceln("start of session");
-			// TODO implement handling: newsession node
+			if (currentSequence != null && currentSequence.size() != 0) {
+				sequences.add(currentSequence);
+				currentSequence = new LinkedList<JFCEvent>();
+			}
 		} else if (qName.equals("event")) {
-			// TODO implement handling: start of event node
+			currentEvent = new JFCEvent(atts.getValue("id"));
+			paramSource = ParamSource.EVENT;
 		} else if (qName.equals("param")) {
-			// TODO implement handling: param node
+			if (paramSource == ParamSource.EVENT) {
+				currentEvent.addParameter(atts.getValue("name"),
+						atts.getValue("value"));
+			} else if (paramSource == ParamSource.SOURCE) {
+				currentEvent.addSourceInformation(atts.getValue("name"),
+						atts.getValue("value"));
+			} else if (paramSource == ParamSource.PARENT) {
+				currentEvent.addParentInformation(atts.getValue("name"),
+						atts.getValue("value"));
+			}
+		} else if (qName.equals("source")) {
+			paramSource = ParamSource.SOURCE;
+		} else if (qName.equals("parent")) {
+			paramSource = ParamSource.PARENT;
 		}
 	}
@@ -84,9 +137,9 @@
 			throws SAXException {
 		if (qName.equals("event")) {
-			// TODO implement handling: end of event node
+			currentSequence.add(currentEvent);
 		} else if (qName.equals("source")) {
-			// TODO implement handling: end of source node
+			paramSource = ParamSource.EVENT;
 		} else if (qName.equals("parent")) {
-			// TODO implement handling: end of parent node
+			paramSource = ParamSource.SOURCE;
 		}
 	}
Index: trunk/EventBenchConsole/src/de/ugoe/cs/eventbensch/jfc/data/JFCEvent.java
===================================================================
--- trunk/EventBenchConsole/src/de/ugoe/cs/eventbensch/jfc/data/JFCEvent.java	(revision 299)
+++ trunk/EventBenchConsole/src/de/ugoe/cs/eventbensch/jfc/data/JFCEvent.java	(revision 300)
@@ -1,3 +1,6 @@
 package de.ugoe.cs.eventbensch.jfc.data;
+
+import java.util.HashMap;
+import java.util.Map;
 
 import de.ugoe.cs.eventbench.data.IReplayable;
@@ -23,4 +26,25 @@
 	/**
 	 * <p>
+	 * Internal map of parameters associated with the event.
+	 * </p>
+	 */
+	private Map<String, String> parameters;
+
+	/**
+	 * <p>
+	 * Information about the event source.
+	 * </p>
+	 */
+	private Map<String, String> sourceParameters;
+
+	/**
+	 * <p>
+	 * Information about the parent of the event source.
+	 * </p>
+	 */
+	private Map<String, String> parentParameters;
+
+	/**
+	 * <p>
 	 * Constructor. Creates a new JFCEvent.
 	 * </p>
@@ -31,4 +55,115 @@
 	public JFCEvent(String type) {
 		super(type);
+		parameters = new HashMap<String, String>();
+	}
+
+	/**
+	 * <p>
+	 * Adds a new parameter to the event.
+	 * </p>
+	 * 
+	 * @param name
+	 *            name of the parameter
+	 * @param value
+	 *            value of the parameter
+	 */
+	public void addParameter(String name, String value) {
+		parameters.put(name, value);
+	}
+
+	/**
+	 * <p>
+	 * Retrieves the value of a parameter.
+	 * </p>
+	 * 
+	 * @param name
+	 *            name of the parameter
+	 * @return value of the parameter
+	 */
+	public String getParameter(String name) {
+		return parameters.get(name);
+	}
+
+	/**
+	 * <p>
+	 * Adds new information about the source of the event.
+	 * </p>
+	 * 
+	 * @param name
+	 *            name of the information
+	 * @param value
+	 *            value of the information
+	 */
+	public void addSourceInformation(String name, String value) {
+		sourceParameters.put(name, value);
+	}
+
+	/**
+	 * <p>
+	 * Retrieves information about the source of the event.
+	 * </p>
+	 * 
+	 * @param name
+	 *            name of the information
+	 * @return value of the information
+	 */
+	public String getSourceInformation(String name) {
+		return sourceParameters.get(name);
+	}
+
+	/**
+	 * <p>
+	 * Adds new information about the parent of the source of the event.
+	 * </p>
+	 * 
+	 * @param name
+	 *            name of the information
+	 * @param value
+	 *            value of the information
+	 */
+	public void addParentInformation(String name, String value) {
+		parentParameters.put(name, value);
+	}
+
+	/**
+	 * <p>
+	 * Retrieves information about the parent of the source of the event.
+	 * </p>
+	 * 
+	 * @param name
+	 *            name of the information
+	 * @return value of the information
+	 */
+	public String getParentInformation(String name) {
+		return parentParameters.get(name);
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see de.ugoe.cs.eventbench.data.ReplayableEvent#equals(java.lang.Object)
+	 */
+	@Override
+	public boolean equals(Object other) {
+		if (other == this) {
+			return true;
+		}
+		if (other instanceof JFCEvent) {
+			return super.equals(other)
+					&& parameters.equals(((JFCEvent) other).parameters);
+		}
+		return false;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see de.ugoe.cs.eventbench.data.ReplayableEvent#hashCode()
+	 */
+	@Override
+	public int hashCode() {
+		int hashCode = super.hashCode();
+		hashCode *= parameters.hashCode();
+		return hashCode;
 	}
 
