Index: /trunk/autoquest-core-events/src/main/java/de/ugoe/cs/autoquest/eventcore/guimodel/GUIElementTree.java
===================================================================
--- /trunk/autoquest-core-events/src/main/java/de/ugoe/cs/autoquest/eventcore/guimodel/GUIElementTree.java	(revision 1083)
+++ /trunk/autoquest-core-events/src/main/java/de/ugoe/cs/autoquest/eventcore/guimodel/GUIElementTree.java	(revision 1084)
@@ -126,8 +126,11 @@
      * @param guiElementSpec
      *            the GUI element specification
+     *            
+     * @throws GUIModelException if the GUI element can not be added to the underlying GUI model
      */
     public void add(T guiElementID,
                     T parentID,
                     IGUIElementSpec guiElementSpec)
+        throws GUIModelException
     {
         IGUIElement guiElement = guiElements.get(guiElementID);
@@ -158,10 +161,5 @@
             }
 
-            try {
-                guiElement = guiModel.integratePath(guiElementPath, guiElementFactory);
-            }
-            catch (GUIModelException e) {
-                throw new RuntimeException("could not instantiate GUI element with id " + guiElementID, e);
-            }
+            guiElement = guiModel.integratePath(guiElementPath, guiElementFactory);
             guiElements.put(guiElementID, guiElement);
         }
Index: /trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/HTMLLogParser.java
===================================================================
--- /trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/HTMLLogParser.java	(revision 1083)
+++ /trunk/autoquest-plugin-html/src/main/java/de/ugoe/cs/autoquest/plugin/html/HTMLLogParser.java	(revision 1084)
@@ -25,4 +25,5 @@
 import de.ugoe.cs.autoquest.eventcore.IEventType;
 import de.ugoe.cs.autoquest.eventcore.guimodel.GUIModel;
+import de.ugoe.cs.autoquest.eventcore.guimodel.GUIModelException;
 import de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElement;
 import de.ugoe.cs.autoquest.plugin.html.eventcore.HTMLEventTypeFactory;
@@ -133,5 +134,11 @@
 
         if (specification != null) {
-            super.getGUIElementTree().add(id, parentId, specification);
+            try {
+                super.getGUIElementTree().add(id, parentId, specification);
+            }
+            catch (GUIModelException e) {
+                throw new SAXException("could not handle GUI element with id " +
+                                       id + ": " + e.getMessage(), e);
+            }
             return true;
         }
@@ -174,15 +181,18 @@
             HTMLEventTypeFactory.getInstance().getEventType(type, parameters, target);
         
-        Event event = new Event(eventType, target);
-
-        String timestampStr = parameters.get("timestamp");
-        
-        if (timestampStr != null) {
-            event.setTimestamp(Long.parseLong(timestampStr));
-        }
-
-        ((HTMLGUIElement) event.getTarget()).markUsed();
-        
-        super.addToSequence(event);
+        if (eventType != null) {
+            Event event = new Event(eventType, target);
+
+            String timestampStr = parameters.get("timestamp");
+        
+            if (timestampStr != null) {
+                event.setTimestamp(Long.parseLong(timestampStr));
+            }
+
+            ((HTMLGUIElement) event.getTarget()).markUsed();
+        
+            super.addToSequence(event);
+        }
+        // else ignore unknown event type
 
         return true;
Index: /trunk/autoquest-plugin-jfc/src/main/java/de/ugoe/cs/autoquest/plugin/jfc/JFCSimplifiedLogParser.java
===================================================================
--- /trunk/autoquest-plugin-jfc/src/main/java/de/ugoe/cs/autoquest/plugin/jfc/JFCSimplifiedLogParser.java	(revision 1083)
+++ /trunk/autoquest-plugin-jfc/src/main/java/de/ugoe/cs/autoquest/plugin/jfc/JFCSimplifiedLogParser.java	(revision 1084)
@@ -38,4 +38,5 @@
 import de.ugoe.cs.autoquest.eventcore.guimodel.GUIElementTree;
 import de.ugoe.cs.autoquest.eventcore.guimodel.GUIModel;
+import de.ugoe.cs.autoquest.eventcore.guimodel.GUIModelException;
 import de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElement;
 import de.ugoe.cs.autoquest.keyboardmaps.VirtualKey;
@@ -397,6 +398,12 @@
         }
         else if (qName.equals("component") && currentGUIElementHash != null) {
-            currentGUIElementTree.add(currentGUIElementHash, currentParentHash,
-                                      currentGuiElementSpec);
+            try {
+                currentGUIElementTree.add(currentGUIElementHash, currentParentHash,
+                                          currentGuiElementSpec);
+            }
+            catch (GUIModelException e) {
+                throw new SAXException("could not handle GUI element with hash " +
+                                       currentGUIElementHash + ": " + e.getMessage(), e);
+            }
             List<Event> unhandledEvents = eventsWithoutTargets.get(currentGUIElementHash);
             if (unhandledEvents != null) {
Index: /trunk/autoquest-plugin-mfc/src/main/java/de/ugoe/cs/autoquest/plugin/mfc/HandlerCreate.java
===================================================================
--- /trunk/autoquest-plugin-mfc/src/main/java/de/ugoe/cs/autoquest/plugin/mfc/HandlerCreate.java	(revision 1083)
+++ /trunk/autoquest-plugin-mfc/src/main/java/de/ugoe/cs/autoquest/plugin/mfc/HandlerCreate.java	(revision 1084)
@@ -15,5 +15,8 @@
 package de.ugoe.cs.autoquest.plugin.mfc;
 
+import org.xml.sax.SAXException;
+
 import de.ugoe.cs.autoquest.eventcore.guimodel.GUIElementTree;
+import de.ugoe.cs.autoquest.eventcore.guimodel.GUIModelException;
 import de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElementSpec;
 import de.ugoe.cs.autoquest.plugin.mfc.guimodel.MFCGUIElementSpec;
@@ -89,8 +92,14 @@
      */
     @Override
-    public void onEndElement() {
+    public void onEndElement() throws SAXException {
         if (hwnd != 0) {
         	IGUIElementSpec spec = new MFCGUIElementSpec(hwnd, guiElementName, resourceId, className, isModal);
-            super.getGUIElementTree().add(hwnd, parentHwnd, spec);
+            try {
+                super.getGUIElementTree().add(hwnd, parentHwnd, spec);
+            }
+            catch (GUIModelException e) {
+                throw new SAXException("could not handle GUI element with handle " +
+                                       hwnd + ": " + e.getMessage(), e);
+            }
         }
     }
Index: /trunk/autoquest-plugin-mfc/src/main/java/de/ugoe/cs/autoquest/plugin/mfc/MessageHandler.java
===================================================================
--- /trunk/autoquest-plugin-mfc/src/main/java/de/ugoe/cs/autoquest/plugin/mfc/MessageHandler.java	(revision 1083)
+++ /trunk/autoquest-plugin-mfc/src/main/java/de/ugoe/cs/autoquest/plugin/mfc/MessageHandler.java	(revision 1084)
@@ -14,4 +14,6 @@
 
 package de.ugoe.cs.autoquest.plugin.mfc;
+
+import org.xml.sax.SAXException;
 
 import de.ugoe.cs.autoquest.eventcore.guimodel.GUIElementTree;
@@ -73,6 +75,8 @@
      * Called in the endElement() method of {@link MFCLogParser} when a msg-node ends.
      * </p>
+     * 
+     * @throws SAXException if the msg-node could not be processed for some reason
      */
-    public void onEndElement() {}
+    public void onEndElement() throws SAXException {}
 
     /**
