Index: /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/eventcore/gui/CharacterTyped.java
===================================================================
--- /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/eventcore/gui/CharacterTyped.java	(revision 1819)
+++ /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/eventcore/gui/CharacterTyped.java	(revision 1819)
@@ -0,0 +1,102 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
+package de.ugoe.cs.autoquest.eventcore.gui;
+
+/**
+ * <p>
+ * Event type for typing strings.
+ * </p>
+ * 
+ * @version 1.0
+ * @author Florian Unger
+ */
+public class CharacterTyped implements IInteraction {
+
+    /**
+     * <p>
+     * Id for object serialization.
+     * </p>
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * <p>
+     * The string associated with the interaction.
+     * </p>
+     */
+    private String string;
+
+    /**
+     * <p>
+     * Constructor. Creates a new CharacterTyped.
+     * </p>
+     * 
+     * @param string
+     *            string associated with the interaction
+     */
+    public CharacterTyped(String string) {
+        this.string = string;
+    }
+
+    @Override
+    public String getName() {
+        return "StringTyped: " + string;
+    }
+
+    @Override
+    public boolean startsLogicalSequence() {
+        return false;
+    }
+
+    @Override
+    public boolean finishesLogicalSequence() {
+        return false;
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see java.lang.Object#equals(java.lang.Object)
+     */
+    @Override
+    public boolean equals(Object obj) {
+        if (obj instanceof CharacterTyped) {
+            return (((CharacterTyped) obj).getString() == getString());
+        }
+        return false;
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see java.lang.Object#hashCode()
+     */
+    @Override
+    public int hashCode() {
+        return getString().hashCode();
+    }
+
+    /**
+     * <p>
+     * Returns the string associated with the interaction.
+     * </p>
+     * 
+     * @return the string
+     */
+    public String getString() {
+        return string;
+    }
+
+}
Index: /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/eventcore/gui/TouchInteraction.java
===================================================================
--- /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/eventcore/gui/TouchInteraction.java	(revision 1819)
+++ /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/eventcore/gui/TouchInteraction.java	(revision 1819)
@@ -0,0 +1,34 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
+package de.ugoe.cs.autoquest.eventcore.gui;
+
+/**
+ * <p>
+ * Base class for all touch interaction event types.
+ * </p>
+ * 
+ * @version 1.0
+ * @author Florian Unger
+ */
+public abstract class TouchInteraction implements IInteraction {
+
+    /**
+     * <p>
+     * Id for object serialization.
+     * </p>
+     */
+    private static final long serialVersionUID = 1L;
+
+}
Index: /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/eventcore/gui/TouchSingle.java
===================================================================
--- /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/eventcore/gui/TouchSingle.java	(revision 1819)
+++ /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/eventcore/gui/TouchSingle.java	(revision 1819)
@@ -0,0 +1,133 @@
+//   Copyright 2012 Georg-August-Universität Göttingen, Germany
+//
+//   Licensed under the Apache License, Version 2.0 (the "License");
+//   you may not use this file except in compliance with the License.
+//   You may obtain a copy of the License at
+//
+//       http://www.apache.org/licenses/LICENSE-2.0
+//
+//   Unless required by applicable law or agreed to in writing, software
+//   distributed under the License is distributed on an "AS IS" BASIS,
+//   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+//   See the License for the specific language governing permissions and
+//   limitations under the License.
+
+package de.ugoe.cs.autoquest.eventcore.gui;
+
+/**
+ * <p>
+ * Event type for a single touch events, i.e., touch on a mobile phone.
+ * </p>
+ * 
+ * @version 1.0
+ * @author Florian Unger
+ */
+public class TouchSingle extends TouchInteraction {
+
+    /**
+     * <p>
+     * Id for object serialization.
+     * </p>
+     */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * <p>
+     * The x coordinate of the touched view in time of touch.
+     * </p>
+     */
+    /*
+     * (non-Javadoc)
+     * 
+     * @see android.view.View#getX()
+     * http://developer.android.com/reference/android/view/View.html#getX()
+     */
+    private float x;
+
+    /**
+     * <p>
+     * The y coordinate of the touched view in time of touch.
+     * </p>
+     */
+    /*
+     * (non-Javadoc)
+     * 
+     * @see android.view.View#getY()
+     * http://developer.android.com/reference/android/view/View.html#getY()
+     */
+    private float y;
+
+    /**
+     * <p>
+     * Constructor. Creates a new {@link TouchSingle} event type.
+     * </p>
+     */
+    public TouchSingle(float x, float y) {
+        this.x = x;
+        this.y = y;
+    }
+
+    @Override
+    public boolean startsLogicalSequence() {
+        return false;
+    }
+
+    @Override
+    public boolean finishesLogicalSequence() {
+        return false;
+    }
+
+    @Override
+    public String getName() {
+        return "TouchSingle";
+    }
+
+    /**
+     * @return the x position of the touched view in time of touch
+     */
+    public float getX() {
+        return x;
+    }
+
+    /**
+     * @return the y position of the touched view in time of touch
+     */
+    public float getY() {
+        return y;
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see java.lang.Object#equals(java.lang.Object)
+     */
+    @Override
+    public boolean equals(Object obj) {
+        if (obj instanceof TouchSingle) {
+            return (((TouchSingle) obj).getX() == getX()) && (((TouchSingle) obj).getY() == getY());
+        }
+        return false;
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see java.lang.Object#hashCode()
+     */
+    @Override
+    public int hashCode() {
+        //TODO create a hashCode
+        return 0;
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see java.lang.Object#toString()
+     */
+    @Override
+    public String toString() {
+        return "SingleTouch(" + x + "," + y + ")";
+    }
+
+}
Index: /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/ANDROIDPlugin.java
===================================================================
--- /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/ANDROIDPlugin.java	(revision 1818)
+++ /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/ANDROIDPlugin.java	(revision 1819)
@@ -30,6 +30,6 @@
  */
 public class ANDROIDPlugin implements AutoQUESTPlugin {
-	
-	/**
+
+    /**
      * <p>
      * The command packages of this plug-in.
Index: /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/AndroidLogParser.java
===================================================================
--- /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/AndroidLogParser.java	(revision 1818)
+++ /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/AndroidLogParser.java	(revision 1819)
@@ -52,7 +52,6 @@
 /**
  * <p>
- * This class provides functionality to parse XML log files generated by the
- * AndroidMonitor of AutoQUEST. The result of parsing a file is a collection of
- * event sequences.
+ * This class provides functionality to parse XML log files generated by the AndroidMonitor of
+ * AutoQUEST. The result of parsing a file is a collection of event sequences.
  * </p>
  * 
@@ -62,280 +61,280 @@
 public class AndroidLogParser extends DefaultHandler {
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * int java.lang.Object.hashCode() is used in the Androidmonitor Long is
-	 * used to internally handle and compare the number. e.g.
-	 * currentGUIElementHash != null
-	 */
-	/**
-	 * <p>
-	 * Internal handle to the id of the event that is currently being parsed.
-	 * </p>
-	 */
-	private String currentEventId = null;
-
-	/**
-	 * <p>
-	 * Internal handle to the parameters of the event currently being parsed.
-	 * </p>
-	 */
-	private Map<String, String> currentEventParameters;
-
-	/**
-	 * <p>
-	 * Internal handle to the source of the event that is currently being
-	 * parsed.
-	 * </p>
-	 */
-	private Long currentEventSource;
-
-	/**
-	 * <p>
-	 * Internal handle to the timestamp of the event that is currently being
-	 * parsed.
-	 */
-	private Long currentEventTimestamp = -1l;
-
-	/**
-	 * 
-	 * <p>
-	 * Internal handle to the hashcode of the GUI element, that is currently
-	 * parsed.
-	 * </p>
-	 */
-	private Long currentGUIElementHash = null;
-
-	/**
-	 * <p>
-	 * Internal handle to the parsed GUI structure, stored in a GUIElementTree
-	 * </p>
-	 */
-	private GUIElementTree<Long> currentGUIElementTree;
-
-	/**
-	 * <p>
-	 * Internal handle to the specification currently parsed for a GUI element
-	 * </p>
-	 */
-	private ANDROIDGUIElementSpec currentGUIElementSpec;
-
-	/**
-	 * 
-	 * <p>
-	 * Internal handle to the hashcode of the parent of the GUI element, that is
-	 * currently parsed.
-	 * </p>
-	 */
-	private Long currentParentHash;
-
-	/**
-	 * <p>
-	 * Internal handle to the event sequence that is currently being parsed.
-	 * </p>
-	 */
-	private List<Event> currentSequence;
-	
-	/**
+    /*
+     * (non-Javadoc)
+     * 
+     * int java.lang.Object.hashCode() is used in the Androidmonitor Long is used to internally
+     * handle and compare the number. e.g. currentGUIElementHash != null
+     */
+    /**
+     * <p>
+     * Internal handle to the id of the event that is currently being parsed.
+     * </p>
+     */
+    private String currentEventId = null;
+
+    /**
+     * <p>
+     * Internal handle to the parameters of the event currently being parsed.
+     * </p>
+     */
+    private Map<String, String> currentEventParameters;
+
+    /**
+     * <p>
+     * Internal handle to the source of the event that is currently being parsed.
+     * </p>
+     */
+    private Long currentEventSource;
+
+    /**
+     * <p>
+     * Internal handle to the timestamp of the event that is currently being parsed.
+     */
+    private Long currentEventTimestamp = -1l;
+
+    /**
+     * 
+     * <p>
+     * Internal handle to the hashcode of the GUI element, that is currently parsed.
+     * </p>
+     */
+    private Long currentGUIElementHash = null;
+
+    /**
+     * <p>
+     * Internal handle to the parsed GUI structure, stored in a GUIElementTree
+     * </p>
+     */
+    private GUIElementTree<Long> currentGUIElementTree;
+
+    /**
+     * <p>
+     * Internal handle to the specification currently parsed for a GUI element
+     * </p>
+     */
+    private ANDROIDGUIElementSpec currentGUIElementSpec;
+
+    /**
+     * 
+     * <p>
+     * Internal handle to the hashcode of the parent of the GUI element, that is currently parsed.
+     * </p>
+     */
+    private Long currentParentHash;
+
+    /**
+     * <p>
+     * Internal handle to the event sequence that is currently being parsed.
+     * </p>
+     */
+    private List<Event> currentSequence;
+
+    /**
      * <p>
      * internal handle to the class ancestors
      * </p>
      */
-    private List<String> currentTypeHierarchy;	
-
-	/**
-	 * <p>
-	 * Map that holds events that had no registered target GUI element during
-	 * parsing. Keys are the IDs of the unregistered targets.
-	 * </p>
-	 */
-	// private Map<Long, List<Event>> eventsWithoutTargets;
-
-	/**
-	 * <p>
-	 * Collection of event sequences that is contained in the log file, which is
-	 * parsed.
-	 * </p>
-	 */
-	private Collection<List<Event>> sequences;
-
-	/**
+    private List<String> currentTypeHierarchy;
+
+    /**
+     * <p>
+     * Map that holds events that had no registered target GUI element during parsing. Keys are the
+     * IDs of the unregistered targets.
+     * </p>
+     */
+    // private Map<Long, List<Event>> eventsWithoutTargets;
+
+    /**
+     * <p>
+     * Collection of event sequences that is contained in the log file, which is parsed.
+     * </p>
+     */
+    private Collection<List<Event>> sequences;
+
+    /**
 	 * 
 	 */
-	private Boolean showSteps = false;
-	
-	/**
-	 * <p>
-	 * Constructor. Creates a new AndroidLogParser.
-	 * </p>
-	 */
-	public AndroidLogParser() {
-		sequences = new LinkedList<List<Event>>();
-		currentSequence = null;
-	}
-
-	// TODO create a constructor which creates a new AndroidLogParser with a
-	// specific event filter.
-
-	/**
-	 * <p>
-	 * Parses a log file written by the JFCMonitor and creates a collection of
-	 * event sequences.
-	 * </p>
-	 * 
-	 * @param filename
-	 *            name and path of the log file
-	 */
-	public void parseFile(String filename) {
-		if (filename == null) {
-			throw new IllegalArgumentException("filename must not be null");
-		}
-
-		parseFile(new File(filename));
-	}
-
-	/**
-	 * <p>
-	 * Parses a log file written by the JFCMonitor and creates a collection of
-	 * event sequences.
-	 * </p>
-	 * 
-	 * @param file
-	 *            name and path of the log file
-	 */
-	public void parseFile(File file) {
-		if (file == null) {
-			throw new IllegalArgumentException("file must not be null");
-		}
-
-		SAXParserFactory spf = SAXParserFactory.newInstance();
-		// set true to validate that the file is well defined
-		spf.setValidating(true);
-
-		SAXParser saxParser = null;
-		InputSource inputSource = null;
-		try {
-			saxParser = spf.newSAXParser();
-			inputSource = new InputSource(new InputStreamReader(
-					new FileInputStream(file), "UTF-8"));
-		} catch (UnsupportedEncodingException e) {
-			Console.printerr("Error parsing file + " + file.getName());
-			Console.logException(e);
-			return;
-		} catch (ParserConfigurationException e) {
-			Console.printerr("Error parsing file + " + file.getName());
-			Console.logException(e);
-			return;
-		} catch (SAXException e) {
-			Console.printerr("Error parsing file + " + file.getName());
-			Console.logException(e);
-			return;
-		} catch (FileNotFoundException e) {
-			Console.printerr("Error parsing file + " + file.getName());
-			Console.logException(e);
-			return;
-		}
-
-		if (inputSource != null) {
-			inputSource.setSystemId("file://" + file.getAbsolutePath());
-			try {
-				// called a second time to be sure that no error happens
-				if (saxParser == null) {
-					throw new RuntimeException("SAXParser creation failed");
-				}
-				saxParser.parse(inputSource, this);
-			} catch (SAXParseException e) {
-				Console.printerrln("Failure parsing file in line "
-						+ e.getLineNumber() + ", column " + e.getColumnNumber()
-						+ ".");
-				Console.logException(e);
-				return;
-			} catch (SAXException e) {
-				Console.printerr("Error parsing file + " + file.getName());
-				Console.logException(e);
-				return;
-			} catch (IOException e) {
-				Console.printerr("Error parsing file + " + file.getName());
-				Console.logException(e);
-				return;
-			}
-		}
-	}
-
-	/**
-	 * <p>
-	 * Returns the collection of event sequences that is obtained from parsing
-	 * log files.
-	 * </p>
-	 * 
-	 * @return collection of event sequences
-	 */
-	public Collection<List<Event>> getSequences() {
-		return sequences;
-	}
-
-	/**
-	 * <p>
-	 * Returns the GUI model that is obtained from parsing log files.
-	 * </p>
-	 * 
-	 * @return GUIModel
-	 */
-	public GUIModel getGuiModel() {
-		return currentGUIElementTree.getGUIModel();
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.xml.sax.helpers.DefaultHandler#startElement(java.lang.String,
-	 * java.lang.String, java.lang.String, org.xml.sax.Attributes)
-	 */
-	public void startElement(String uri, String localName, String qName,
-			Attributes atts) throws SAXException {
-		showSteps("start element: " + qName, true);
-		if (qName.equals("sessions")) {
-			currentSequence = new LinkedList<Event>();
-			if (currentGUIElementTree == null) {
-				currentGUIElementTree = new GUIElementTree<Long>();
-			}
-
-		}
-
-		if (qName.equals("component")) {
-			currentGUIElementHash = Long.parseLong(atts.getValue("hash"));
-			currentGUIElementSpec = new ANDROIDGUIElementSpec();
-			currentGUIElementSpec.setHashCode((int) currentGUIElementHash
-					.longValue());
-
-		} else if (qName.equals("event")) {
-			currentEventId = atts.getValue("id");
-			currentEventParameters = new HashMap<String, String>();
-
-		} else if (qName.equals("param")) {
-			if (currentGUIElementHash != null) {
-				if ("class".equals(atts.getValue("name"))) {
-					currentGUIElementSpec.setType(atts.getValue("value"));
-				} else if ("path".equals(atts.getValue("name"))) {
-					currentGUIElementSpec.setPath(atts.getValue("value"));
-				} else if ("id".equals(atts.getValue("name"))) {
-					currentGUIElementSpec.setIndex(Integer.parseInt(atts
-							.getValue("value")));
-				} else if ("parent".equals(atts.getValue("name"))) {
-					currentParentHash = Long.parseLong(atts.getValue("value"));
-				}
-			} else if (currentEventId != null) {
-				if ("source".equals(atts.getValue("name"))) {
-					currentEventSource = Long.parseLong(atts.getValue("value"));
-				}
-				if ("timestamp".equals(atts.getValue("name"))) {
-					currentEventTimestamp = Long.parseLong(atts
-							.getValue("value"));
-				}
-				currentEventParameters.put(atts.getValue("name"),
-						atts.getValue("value"));
-			}
-		}
-		else if (qName.equals("ancestor")) {
+    private Boolean showSteps = false;
+
+    /**
+     * <p>
+     * Constructor. Creates a new AndroidLogParser.
+     * </p>
+     */
+    public AndroidLogParser() {
+        sequences = new LinkedList<List<Event>>();
+        currentSequence = null;
+    }
+
+    // TODO create a constructor which creates a new AndroidLogParser with a
+    // specific event filter.
+
+    /**
+     * <p>
+     * Parses a log file written by the JFCMonitor and creates a collection of event sequences.
+     * </p>
+     * 
+     * @param filename
+     *            name and path of the log file
+     */
+    public void parseFile(String filename) {
+        if (filename == null) {
+            throw new IllegalArgumentException("filename must not be null");
+        }
+
+        parseFile(new File(filename));
+    }
+
+    /**
+     * <p>
+     * Parses a log file written by the JFCMonitor and creates a collection of event sequences.
+     * </p>
+     * 
+     * @param file
+     *            name and path of the log file
+     */
+    public void parseFile(File file) {
+        if (file == null) {
+            throw new IllegalArgumentException("file must not be null");
+        }
+
+        SAXParserFactory spf = SAXParserFactory.newInstance();
+        // set true to validate that the file is well defined
+        spf.setValidating(true);
+
+        SAXParser saxParser = null;
+        InputSource inputSource = null;
+        try {
+            saxParser = spf.newSAXParser();
+            inputSource =
+                new InputSource(new InputStreamReader(new FileInputStream(file), "UTF-8"));
+        }
+        catch (UnsupportedEncodingException e) {
+            Console.printerr("Error parsing file + " + file.getName());
+            Console.logException(e);
+            return;
+        }
+        catch (ParserConfigurationException e) {
+            Console.printerr("Error parsing file + " + file.getName());
+            Console.logException(e);
+            return;
+        }
+        catch (SAXException e) {
+            Console.printerr("Error parsing file + " + file.getName());
+            Console.logException(e);
+            return;
+        }
+        catch (FileNotFoundException e) {
+            Console.printerr("Error parsing file + " + file.getName());
+            Console.logException(e);
+            return;
+        }
+
+        if (inputSource != null) {
+            inputSource.setSystemId("file://" + file.getAbsolutePath());
+            try {
+                // called a second time to be sure that no error happens
+                if (saxParser == null) {
+                    throw new RuntimeException("SAXParser creation failed");
+                }
+                saxParser.parse(inputSource, this);
+            }
+            catch (SAXParseException e) {
+                Console.printerrln("Failure parsing file in line " + e.getLineNumber() +
+                    ", column " + e.getColumnNumber() + ".");
+                Console.logException(e);
+                return;
+            }
+            catch (SAXException e) {
+                Console.printerr("Error parsing file + " + file.getName());
+                Console.logException(e);
+                return;
+            }
+            catch (IOException e) {
+                Console.printerr("Error parsing file + " + file.getName());
+                Console.logException(e);
+                return;
+            }
+        }
+    }
+
+    /**
+     * <p>
+     * Returns the collection of event sequences that is obtained from parsing log files.
+     * </p>
+     * 
+     * @return collection of event sequences
+     */
+    public Collection<List<Event>> getSequences() {
+        return sequences;
+    }
+
+    /**
+     * <p>
+     * Returns the GUI model that is obtained from parsing log files.
+     * </p>
+     * 
+     * @return GUIModel
+     */
+    public GUIModel getGuiModel() {
+        return currentGUIElementTree.getGUIModel();
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.xml.sax.helpers.DefaultHandler#startElement(java.lang.String, java.lang.String,
+     * java.lang.String, org.xml.sax.Attributes)
+     */
+    public void startElement(String uri, String localName, String qName, Attributes atts)
+        throws SAXException
+    {
+        showSteps("start element: " + qName, true);
+        if (qName.equals("sessions")) {
+            currentSequence = new LinkedList<Event>();
+            if (currentGUIElementTree == null) {
+                currentGUIElementTree = new GUIElementTree<Long>();
+            }
+
+        }
+
+        if (qName.equals("component")) {
+            currentGUIElementHash = Long.parseLong(atts.getValue("hash"));
+            currentGUIElementSpec = new ANDROIDGUIElementSpec();
+            currentGUIElementSpec.setHashCode((int) currentGUIElementHash.longValue());
+
+        }
+        else if (qName.equals("event")) {
+            currentEventId = atts.getValue("id");
+            currentEventParameters = new HashMap<String, String>();
+
+        }
+        else if (qName.equals("param")) {
+            if (currentGUIElementHash != null) {
+                if ("class".equals(atts.getValue("name"))) {
+                    currentGUIElementSpec.setType(atts.getValue("value"));
+                }
+                else if ("path".equals(atts.getValue("name"))) {
+                    currentGUIElementSpec.setPath(atts.getValue("value"));
+                }
+                else if ("id".equals(atts.getValue("name"))) {
+                    currentGUIElementSpec.setIndex(Integer.parseInt(atts.getValue("value")));
+                }
+                else if ("parent".equals(atts.getValue("name"))) {
+                    currentParentHash = Long.parseLong(atts.getValue("value"));
+                }
+            }
+            else if (currentEventId != null) {
+                if ("source".equals(atts.getValue("name"))) {
+                    currentEventSource = Long.parseLong(atts.getValue("value"));
+                }
+                if ("timestamp".equals(atts.getValue("name"))) {
+                    currentEventTimestamp = Long.parseLong(atts.getValue("value"));
+                }
+                currentEventParameters.put(atts.getValue("name"), atts.getValue("value"));
+            }
+        }
+        else if (qName.equals("ancestor")) {
             currentTypeHierarchy.add(atts.getValue("name"));
         }
@@ -343,117 +342,118 @@
             currentTypeHierarchy = new LinkedList<String>();
         }
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see org.xml.sax.helpers.DefaultHandler#endElement(java.lang.String,
-	 * java.lang.String, java.lang.String)
-	 */
-	@Override
-	public void endElement(String uri, String localName, String qName)
-			throws SAXException {
-
-		showSteps("end element: " + qName, true);
-
-		if (qName.equals("sessions")) {
-			if (currentSequence != null) {
-				sequences.add(currentSequence);
-			}
-		}
-		else if (qName.equals("ancestors")) {
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see org.xml.sax.helpers.DefaultHandler#endElement(java.lang.String, java.lang.String,
+     * java.lang.String)
+     */
+    @Override
+    public void endElement(String uri, String localName, String qName) throws SAXException {
+
+        showSteps("end element: " + qName, true);
+
+        if (qName.equals("sessions")) {
+            if (currentSequence != null) {
+                sequences.add(currentSequence);
+            }
+        }
+        else if (qName.equals("ancestors")) {
             currentGUIElementSpec.setTypeHierarchy(currentTypeHierarchy);
         }
-		else if (qName.equals("component") && currentGUIElementHash != null) {
-			try {
-				currentGUIElementTree.add(currentGUIElementHash,
-						currentParentHash, currentGUIElementSpec);
-			} catch (GUIModelException e) {
-				throw new SAXException(
-						"could not handle GUI element with hash "
-								+ currentGUIElementHash + ": " + e.getMessage(),
-						e);
-			}
-			currentGUIElementHash = null;
-			currentParentHash = null;
-			currentTypeHierarchy = null;
-		} 
-		else if (currentEventId != null && qName.equals("event")) {
-
-			IGUIElement currentGUIElement;
-			currentGUIElement = currentGUIElementTree.find(currentEventSource);
-			Event event;
-
-			// up to now only onClick events are implemented and each
-			// onclick event is processed as a mouse click
-			if (currentGUIElement == null) {
-
-			} else {
-
-				event = new Event(instantiateInteraction(currentEventId,
-						currentEventParameters), currentGUIElement);
-				ANDROIDGUIElement currentEventTarget = (ANDROIDGUIElement) event
-						.getTarget();
-				currentEventTarget.markUsed();
-				event.setTimestamp(currentEventTimestamp);
-				currentSequence.add(event);
-			}
-			currentEventParameters = null;
-			currentEventId = null;
-			currentEventTimestamp = -1l;
-		}
-	}
-
-	/**
-	 * <p>
-	 * depending on the event id and the event parameters, this method
-	 * instantiates the concrete interaction, that took place, i.e. the event
-	 * type
-	 * </p>
-	 * 
-	 * @param eventId
-	 *            the id of the event
-	 * @param eventParameters
-	 *            the parameters provided for the event
-	 * 
-	 * @return as described
-	 * 
-	 * @throws SAXException
-	 *             thrown if the provided event id is unknown
-	 */
-	private IInteraction instantiateInteraction(String event,
-			Map<String, String> eventParameters) throws SAXException {
-
-		switch (event) {
-		case "onClick":
-			
-			float x = Float.parseFloat(currentEventParameters.get("X"));
-			float y = Float.parseFloat(currentEventParameters.get("Y"));
-			
-			return new TouchSingle(x,y);
-		
-		case "text":
-			return new CharacterTyped(currentEventParameters.get("message"));
-			
-		default:
-			throw new SAXException("unhandled event id " + event);
-		}
-
-	}
-
-	private void showSteps(String message, Boolean ln) {
-		if (showSteps) {
-			if (ln) {
-				Console.traceln(Level.INFO, message);
-			} else {
-				Console.trace(Level.INFO, message);
-			}
-
-		}
-	}
-
-	public void setShowSteps(Boolean showSteps) {
-		this.showSteps = showSteps;
-	}
+        else if (qName.equals("component") && currentGUIElementHash != null) {
+            try {
+                currentGUIElementTree.add(currentGUIElementHash, currentParentHash,
+                                          currentGUIElementSpec);
+            }
+            catch (GUIModelException e) {
+                throw new SAXException("could not handle GUI element with hash " +
+                    currentGUIElementHash + ": " + e.getMessage(), e);
+            }
+            currentGUIElementHash = null;
+            currentParentHash = null;
+            currentTypeHierarchy = null;
+        }
+        else if (currentEventId != null && qName.equals("event")) {
+
+            IGUIElement currentGUIElement;
+            currentGUIElement = currentGUIElementTree.find(currentEventSource);
+            Event event;
+
+            // up to now only onClick events are implemented and each
+            // onclick event is processed as a mouse click
+            if (currentGUIElement == null) {
+
+            }
+            else {
+
+                event =
+                    new Event(instantiateInteraction(currentEventId, currentEventParameters),
+                              currentGUIElement);
+                ANDROIDGUIElement currentEventTarget = (ANDROIDGUIElement) event.getTarget();
+                currentEventTarget.markUsed();
+                event.setTimestamp(currentEventTimestamp);
+                currentSequence.add(event);
+            }
+            currentEventParameters = null;
+            currentEventId = null;
+            currentEventTimestamp = -1l;
+        }
+    }
+
+    /**
+     * <p>
+     * depending on the event id and the event parameters, this method instantiates the concrete
+     * interaction, that took place, i.e. the event type
+     * </p>
+     * 
+     * @param eventId
+     *            the id of the event
+     * @param eventParameters
+     *            the parameters provided for the event
+     * 
+     * @return as described
+     * 
+     * @throws SAXException
+     *             thrown if the provided event id is unknown
+     */
+    private IInteraction instantiateInteraction(String event, Map<String, String> eventParameters)
+        throws SAXException
+    {
+
+        switch (event)
+        {
+            case "onClick":
+
+                float x = Float.parseFloat(currentEventParameters.get("X"));
+                float y = Float.parseFloat(currentEventParameters.get("Y"));
+
+                return new TouchSingle(x, y);
+
+            case "text":
+                return new CharacterTyped(currentEventParameters.get("message"));
+
+            default:
+                throw new SAXException("unhandled event id " + event);
+        }
+
+    }
+
+    private void showSteps(String message, Boolean ln) {
+        if (showSteps) {
+            if (ln) {
+                Console.traceln(Level.INFO, message);
+            }
+            else {
+                Console.trace(Level.INFO, message);
+            }
+
+        }
+    }
+
+    public void setShowSteps(Boolean showSteps) {
+        this.showSteps = showSteps;
+    }
 
 }
Index: /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/commands/CMDparseAndroid.java
===================================================================
--- /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/commands/CMDparseAndroid.java	(revision 1818)
+++ /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/commands/CMDparseAndroid.java	(revision 1819)
@@ -17,4 +17,5 @@
 import java.util.Collection;
 import java.util.List;
+import java.util.logging.Level;
 
 import de.ugoe.cs.autoquest.CommandHelpers;
@@ -36,57 +37,58 @@
 public class CMDparseAndroid implements Command {
 
-	/*
+    /*
      * (non-Javadoc)
      * 
      * @see de.ugoe.cs.util.console.Command#run(java.util.List)
      */
-	@Override
-	public void run(List<Object> parameters) {
-		String filename;
-		String sequencesName = "sequences";
+    @Override
+    public void run(List<Object> parameters) {
+        String filename;
+        String sequencesName = "sequences";
 
-		try {
-			filename = (String) parameters.get(0);
-			if (parameters.size() >= 2) {
-				sequencesName = (String) parameters.get(1);
-			}
-		} catch (Exception e) {
-			throw new IllegalArgumentException();
-		}
+        try {
+            filename = (String) parameters.get(0);
+            if (parameters.size() >= 2) {
+                sequencesName = (String) parameters.get(1);
+            }
+        }
+        catch (Exception e) {
+            throw new IllegalArgumentException();
+        }
 
-		AndroidLogParser parser = new AndroidLogParser();
+        AndroidLogParser parser = new AndroidLogParser();
 
-		try {
-			parser.parseFile(filename);
-		} catch (Exception e) {
-			Console.printerrln("Could not parse " + filename + ": "
-					+ e.getMessage());
-			return;
-		}
+        try {
+            parser.parseFile(filename);
+        }
+        catch (Exception e) {
+            Console.printerrln("Could not parse " + filename + ": " + e.getMessage());
+            return;
+        }
 
-		Collection<List<Event>> sequences = parser.getSequences();
+        Collection<List<Event>> sequences = parser.getSequences();
 
-		GUIModel targets = parser.getGuiModel();
+        GUIModel targets = parser.getGuiModel();
 
-		if (GlobalDataContainer.getInstance().addData(sequencesName, sequences)) {
-			CommandHelpers.dataOverwritten(sequencesName);
-		}
+        if (GlobalDataContainer.getInstance().addData(sequencesName, sequences)) {
+            CommandHelpers.dataOverwritten(sequencesName);
+        }
 
-		if (GlobalDataContainer.getInstance().addData(
-				sequencesName + "_targets", targets)) {
-			CommandHelpers.dataOverwritten(sequencesName + "_targets");
-		}
-	}
+        if (GlobalDataContainer.getInstance().addData(sequencesName + "_targets", targets)) {
+            CommandHelpers.dataOverwritten(sequencesName + "_targets");
+        }
+        Console.traceln(Level.INFO, "parse done");
+    }
 
-	/*
+    /*
      * (non-Javadoc)
      * 
      * @see de.ugoe.cs.util.console.Command#help()
      */
-	@Override
-	public String help() {
-		
-		return "parseAndroid <filename> {<sequencesName>}";
-	}
+    @Override
+    public String help() {
+
+        return "parseAndroid <filename> {<sequencesName>}";
+    }
 
 }
Index: /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/commands/CMDparseDirAndroid.java
===================================================================
--- /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/commands/CMDparseDirAndroid.java	(revision 1818)
+++ /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/commands/CMDparseDirAndroid.java	(revision 1819)
@@ -31,6 +31,6 @@
  * <p>
  * Command that tries to parse all files in a folder as if they were log files generated by the
- * Androidmonitor. The result is one set of sequences for all files (not one set of sequences for each
- * file!).
+ * Androidmonitor. The result is one set of sequences for all files (not one set of sequences for
+ * each file!).
  * </p>
  * 
@@ -38,14 +38,14 @@
  * @version 1.0
  */
-public class CMDparseDirAndroid implements Command{
+public class CMDparseDirAndroid implements Command {
 
-	/*
+    /*
      * (non-Javadoc)
      * 
      * @see de.ugoe.cs.util.console.Command#run(java.util.List)
      */
-	@Override
-	public void run(List<Object> parameters) {
-		String path;
+    @Override
+    public void run(List<Object> parameters) {
+        String path;
         String sequencesName = "sequences";
 
@@ -59,5 +59,5 @@
             throw new IllegalArgumentException();
         }
-        
+
         File folder = new File(path);
         if (!folder.isDirectory()) {
@@ -65,7 +65,7 @@
             return;
         }
-        
+
         AndroidLogParser parser = new AndroidLogParser();
-        
+
         String absolutPath = folder.getAbsolutePath();
         for (String filename : folder.list()) {
@@ -80,7 +80,7 @@
             }
         }
-        
+
         Collection<List<Event>> sequences = parser.getSequences();
-        
+
         GUIModel targets = parser.getGuiModel();
 
@@ -88,20 +88,20 @@
             CommandHelpers.dataOverwritten(sequencesName);
         }
-        
+
         if (GlobalDataContainer.getInstance().addData(sequencesName + "_targets", targets)) {
             CommandHelpers.dataOverwritten(sequencesName + "_targets");
         }
-		
-	}
 
-	/*
+    }
+
+    /*
      * (non-Javadoc)
      * 
      * @see de.ugoe.cs.util.console.Command#help()
      */
-	@Override
-	public String help() {
-		return "parseDirAndroid <directory> {<sequencesName>}";
-	}
+    @Override
+    public String help() {
+        return "parseDirAndroid <directory> {<sequencesName>}";
+    }
 
 }
Index: /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/guimodel/ANDROIDButton.java
===================================================================
--- /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/guimodel/ANDROIDButton.java	(revision 1818)
+++ /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/guimodel/ANDROIDButton.java	(revision 1819)
@@ -12,4 +12,5 @@
 //   See the License for the specific language governing permissions and
 //   limitations under the License.
+
 package de.ugoe.cs.autoquest.plugin.android.guimodel;
 
@@ -24,6 +25,6 @@
  * @author Florian Unger
  */
-public class ANDROIDButton extends ANDROIDGUIElement implements IButton{
-	/**
+public class ANDROIDButton extends ANDROIDGUIElement implements IButton {
+    /**
      * <p>
      * Id for object serialization.
@@ -31,5 +32,5 @@
      */
     private static final long serialVersionUID = 1L;
-    
+
     /**
      * <p>
@@ -43,10 +44,9 @@
      *            window
      */
-    public ANDROIDButton(ANDROIDGUIElementSpec specification,
-			ANDROIDGUIElement parent) {
-		super(specification, parent);
-		// TODO Auto-generated constructor stub
-	}
-    
+    public ANDROIDButton(ANDROIDGUIElementSpec specification, ANDROIDGUIElement parent) {
+        super(specification, parent);
+        // TODO Auto-generated constructor stub
+    }
+
     /*
      * (non-Javadoc)
Index: /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/guimodel/ANDROIDFrame.java
===================================================================
--- /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/guimodel/ANDROIDFrame.java	(revision 1818)
+++ /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/guimodel/ANDROIDFrame.java	(revision 1819)
@@ -12,7 +12,9 @@
 //   See the License for the specific language governing permissions and
 //   limitations under the License.
+
 package de.ugoe.cs.autoquest.plugin.android.guimodel;
 
 import de.ugoe.cs.autoquest.eventcore.guimodel.IFrame;
+
 /**
  * <p>
@@ -23,6 +25,6 @@
  * @author Florian Unger
  */
-public class ANDROIDFrame extends ANDROIDGUIElement implements IFrame{
-	/**
+public class ANDROIDFrame extends ANDROIDGUIElement implements IFrame {
+    /**
      * <p>
      * Id for object serialization.
@@ -30,5 +32,5 @@
      */
     private static final long serialVersionUID = 1L;
-	
+
     /**
      * <p>
@@ -42,10 +44,9 @@
      *            window
      */
-	public ANDROIDFrame(ANDROIDGUIElementSpec specification,
-			ANDROIDGUIElement parent) {
-		super(specification, parent);
-	}
+    public ANDROIDFrame(ANDROIDGUIElementSpec specification, ANDROIDGUIElement parent) {
+        super(specification, parent);
+    }
 
-	/*
+    /*
      * (non-Javadoc)
      * 
Index: /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/guimodel/ANDROIDGUIElement.java
===================================================================
--- /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/guimodel/ANDROIDGUIElement.java	(revision 1818)
+++ /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/guimodel/ANDROIDGUIElement.java	(revision 1819)
@@ -12,4 +12,5 @@
 //   See the License for the specific language governing permissions and
 //   limitations under the License.
+
 package de.ugoe.cs.autoquest.plugin.android.guimodel;
 
@@ -26,7 +27,7 @@
  * @author Florian Unger
  */
-public class ANDROIDGUIElement extends AbstractDefaultGUIElement{
+public class ANDROIDGUIElement extends AbstractDefaultGUIElement {
 
-	/**
+    /**
      * <p>
      * Id for object serialization.
@@ -34,5 +35,5 @@
      */
     private static final long serialVersionUID = 1L;
-    
+
     /**
      * <p>
@@ -41,5 +42,5 @@
      */
     private ANDROIDGUIElementSpec specification;
-    
+
     /**
      * <p>
@@ -54,8 +55,8 @@
      */
     public ANDROIDGUIElement(ANDROIDGUIElementSpec specification, ANDROIDGUIElement parent) {
-		super(specification, parent);
-		this.specification = specification;
-	}
-	
+        super(specification, parent);
+        this.specification = specification;
+    }
+
     /*
      * (non-Javadoc)
@@ -66,7 +67,7 @@
      */
     @Override
-	public void updateSpecification(IGUIElementSpec furtherSpec) {
-		//nothing do do here up to now.		
-	}
+    public void updateSpecification(IGUIElementSpec furtherSpec) {
+        // nothing do do here up to now.
+    }
 
     /*
@@ -75,10 +76,10 @@
      * @see de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElement#getDistanceTo(IGUIElement)
      */
-	@Override
-	public double getDistanceTo(IGUIElement otherElement) {
-		throw new UnsupportedOperationException("not implemented yet");
-	}
-	
-	/**
+    @Override
+    public double getDistanceTo(IGUIElement otherElement) {
+        throw new UnsupportedOperationException("not implemented yet");
+    }
+
+    /**
      * <p>
      * Returns the type of the GUI element, i.e., the name of its Java class.
@@ -90,32 +91,30 @@
         return specification.getType();
     }
-    
-    
 
-	/*
+    /*
      * (non-Javadoc)
      * 
      * @see de.ugoe.cs.autoquest.eventcore.IEventTarget#getPlatform()
      */
-	@Override
-	public String getPlatform() {
-		return "Android";
-	}
+    @Override
+    public String getPlatform() {
+        return "Android";
+    }
 
-	/*
+    /*
      * (non-Javadoc)
      * 
      * @see java.lang.Object#toString()
      */
-	@Override
-	public String getStringIdentifier() {
-		String str = this.toString();
+    @Override
+    public String getStringIdentifier() {
+        String str = this.toString();
         if (getParent() != null) {
             return str + "<-" + getParent().getStringIdentifier();
         }
         return str;
-	}
-	
-	/**
+    }
+
+    /**
      * <p>
      * A short string describing the GUI element, e.g., Button, Canvas, or ScrollBar.
Index: /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/guimodel/ANDROIDGUIElementSpec.java
===================================================================
--- /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/guimodel/ANDROIDGUIElementSpec.java	(revision 1818)
+++ /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/guimodel/ANDROIDGUIElementSpec.java	(revision 1819)
@@ -12,4 +12,5 @@
 //   See the License for the specific language governing permissions and
 //   limitations under the License.
+
 package de.ugoe.cs.autoquest.plugin.android.guimodel;
 
@@ -20,6 +21,5 @@
 /**
  * <p>
- * Implements the specification of {@link IGUIElement} for
- * {@link ANDROIDGUIElement}s.
+ * Implements the specification of {@link IGUIElement} for {@link ANDROIDGUIElement}s.
  * </p>
  * 
@@ -29,49 +29,47 @@
 public class ANDROIDGUIElementSpec implements IGUIElementSpec {
 
-	/**
-	 * <p>
-	 * default serial version UID
-	 * </p>
-	 */
-	private static final long serialVersionUID = 1L;
+    /**
+     * <p>
+     * default serial version UID
+     * </p>
+     */
+    private static final long serialVersionUID = 1L;
 
-	/*
-	 * (non-Javadoc) see
-	 * de.ugoe.cs.autoquest.androidmonitor.AndroidmonitorLogFile#logComponent()
-	 */
-	/**
-	 * <p>
-	 * Hash code of the GUI element. Used as unique identifier during parsing a
-	 * log file. Note that it is possible that the hash code of an element
-	 * changes over several log files even if they come from the same target.
-	 * </p>
-	 */
-	private int hashCode;
+    /*
+     * (non-Javadoc) see de.ugoe.cs.autoquest.androidmonitor.AndroidmonitorLogFile#logComponent()
+     */
+    /**
+     * <p>
+     * Hash code of the GUI element. Used as unique identifier during parsing a log file. Note that
+     * it is possible that the hash code of an element changes over several log files even if they
+     * come from the same target.
+     * </p>
+     */
+    private int hashCode;
 
-	/**
-	 * <p>
-	 * Path to an element in an activity. e.g. a path of a button could look
-	 * like MainActivity/DecorView/ActionBarOverlayLayout/FrameLayout/
-	 * RelativeLayout/Button
-	 * </p>
-	 */
-	private String path;
-	
-	/**
-	 * <p>
-	 * id of the object as it is returned by view.getId()
-	 * </p>
-	 */
-	private int index;
+    /**
+     * <p>
+     * Path to an element in an activity. e.g. a path of a button could look like
+     * MainActivity/DecorView/ActionBarOverlayLayout/FrameLayout/ RelativeLayout/Button
+     * </p>
+     */
+    private String path;
 
-	/**
-	 * <p>
-	 * the type of GUI element represented by this specification, which is
-	 * usually the java class of the android GUI element
-	 * </p>
-	 */
-	private String type;
-	
-	/**
+    /**
+     * <p>
+     * id of the object as it is returned by view.getId()
+     * </p>
+     */
+    private int index;
+
+    /**
+     * <p>
+     * the type of GUI element represented by this specification, which is usually the java class of
+     * the android GUI element
+     * </p>
+     */
+    private String type;
+
+    /**
      * <p>
      * Type hierarchy of the class itself
@@ -80,24 +78,22 @@
     private List<String> typeHierarchy = null;
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElementSpec#getType()
-	 */
-	@Override
-	public String getType() {
-		return type;
-	}
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElementSpec#getType()
+     */
+    @Override
+    public String getType() {
+        return type;
+    }
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see
-	 * de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElementSpec#getTypeHierarchy
-	 * ()
-	 */
-	@Override
-	public String[] getTypeHierarchy() {
-		if (typeHierarchy == null) {
+    /*
+     * (non-Javadoc)
+     * 
+     * @see de.ugoe.cs.autoquest.eventcore.guimodel.IGUIElementSpec#getTypeHierarchy ()
+     */
+    @Override
+    public String[] getTypeHierarchy() {
+        if (typeHierarchy == null) {
             return new String[]
                 { (getType()) };
@@ -105,74 +101,77 @@
         else
             return typeHierarchy.toArray(new String[typeHierarchy.size()]);
-	}
+    }
 
-	@Override
-	public boolean getSimilarity(IGUIElementSpec other) {
-		if (this == other) {
-			return true;
-		}
+    @Override
+    public boolean getSimilarity(IGUIElementSpec other) {
+        if (this == other) {
+            return true;
+        }
 
-		if (!(other instanceof ANDROIDGUIElementSpec)) {
-			return false;
-		}
+        if (!(other instanceof ANDROIDGUIElementSpec)) {
+            return false;
+        }
 
-		// Check wheter view.id() keeps the same even if something in the
-		// structure changes. The hash in the JFCMonitor seems to be unique at
-		// all. In the Androidmonitore the hash of an element changes even from
-		// one start of the activity to another.
-		/*
-		 * Maybe some other comparisons will be necessary in the future.
-		 */
+        // Check wheter view.id() keeps the same even if something in the
+        // structure changes. The hash in the JFCMonitor seems to be unique at
+        // all. In the Androidmonitore the hash of an element changes even from
+        // one start of the activity to another.
+        /*
+         * Maybe some other comparisons will be necessary in the future.
+         */
 
-		return false;
-	}
+        return false;
+    }
 
-	/*
-	 * (non-Javadoc)
-	 * 
-	 * @see java.lang.Object#hashCode()
-	 */
-	@Override
-	public int hashCode() {
-		return hashCode;
-	}
+    /*
+     * (non-Javadoc)
+     * 
+     * @see java.lang.Object#hashCode()
+     */
+    @Override
+    public int hashCode() {
+        return hashCode;
+    }
 
-	/**
-	 * <p>
-	 * Returns the path associated with the specified GUI element.
-	 * </p>
-	 * @return the path to an element
-	 */
-	public String getPath() {
-		return path;
-	}
+    /**
+     * <p>
+     * Returns the path associated with the specified GUI element.
+     * </p>
+     * 
+     * @return the path to an element
+     */
+    public String getPath() {
+        return path;
+    }
 
-	public int getIndex() {
-		return index;
-	}
+    public int getIndex() {
+        return index;
+    }
 
-	public void setIndex(int index) {
-		this.index = index;
-	}
+    public void setIndex(int index) {
+        this.index = index;
+    }
 
-	/**
-	 * Set the hash code associated with the GUI element.
-	 * @param hash
-	 * 				the hash of an element object
-	 */
-	public void setHashCode(int hash){
-		this.hashCode = hash;
-	}
-	
-	/**
-	 * Set the path associated with the specified GUI element.
-	 * @param path
-	 * 				the path to an element
-	 */
-	public void setPath(String path) {
-		this.path = path;
-	}
-	
-	/**
+    /**
+     * Set the hash code associated with the GUI element.
+     * 
+     * @param hash
+     *            the hash of an element object
+     */
+    public void setHashCode(int hash) {
+        this.hashCode = hash;
+    }
+
+    /**
+     * Set the path associated with the specified GUI element.
+     * 
+     * @param path
+     *            the path to an element
+     */
+    public void setPath(String path) {
+        this.path = path;
+    }
+
+    /**
      * <p>
      * Sets the type of the specified GUI element.
@@ -185,5 +184,5 @@
         this.type = type;
     }
-    
+
     /**
      * <p>
@@ -196,5 +195,4 @@
         this.typeHierarchy = typeHierarchy;
     }
-    
 
 }
Index: /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/guimodel/ANDROIDPanel.java
===================================================================
--- /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/guimodel/ANDROIDPanel.java	(revision 1818)
+++ /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/guimodel/ANDROIDPanel.java	(revision 1819)
@@ -25,13 +25,13 @@
  * @author Florian Unger
  */
-public class ANDROIDPanel extends ANDROIDGUIElement implements IPanel{
+public class ANDROIDPanel extends ANDROIDGUIElement implements IPanel {
 
-	/**
+    /**
      * <p>
      * Id for object serialization.
      * </p>
      */
-    private static final long serialVersionUID = 1L; 
-	
+    private static final long serialVersionUID = 1L;
+
     /**
      * <p>
@@ -45,11 +45,10 @@
      *            window
      */
-	public ANDROIDPanel(ANDROIDGUIElementSpec specification,
-			ANDROIDGUIElement parent) {
-		super(specification, parent);
-		
-	}
+    public ANDROIDPanel(ANDROIDGUIElementSpec specification, ANDROIDGUIElement parent) {
+        super(specification, parent);
 
-	/*
+    }
+
+    /*
      * (non-Javadoc)
      * 
@@ -60,4 +59,4 @@
         return "Panel";
     }
-        
+
 }
Index: /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/guimodel/ANDROIDRadioButton.java
===================================================================
--- /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/guimodel/ANDROIDRadioButton.java	(revision 1818)
+++ /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/guimodel/ANDROIDRadioButton.java	(revision 1819)
@@ -25,7 +25,7 @@
  * @author Florian Unger
  */
-public class ANDROIDRadioButton extends ANDROIDGUIElement implements IRadioButton{
+public class ANDROIDRadioButton extends ANDROIDGUIElement implements IRadioButton {
 
-	/**
+    /**
      * <p>
      * Id for object serialization.
@@ -45,10 +45,9 @@
      *            window
      */
-	public ANDROIDRadioButton(ANDROIDGUIElementSpec specification,
-			ANDROIDGUIElement parent) {
-		super(specification, parent);
-	}
+    public ANDROIDRadioButton(ANDROIDGUIElementSpec specification, ANDROIDGUIElement parent) {
+        super(specification, parent);
+    }
 
-	 /*
+    /*
      * (non-Javadoc)
      * 
Index: /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/guimodel/ANDROIDTextField.java
===================================================================
--- /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/guimodel/ANDROIDTextField.java	(revision 1818)
+++ /trunk/autoquest-plugin-android/src/main/java/de/ugoe/cs/autoquest/plugin/android/guimodel/ANDROIDTextField.java	(revision 1819)
@@ -25,7 +25,7 @@
  * @author Florian Unger
  */
-public class ANDROIDTextField extends ANDROIDGUIElement implements ITextField{
+public class ANDROIDTextField extends ANDROIDGUIElement implements ITextField {
 
-	/**
+    /**
      * <p>
      * Id for object serialization.
@@ -45,11 +45,10 @@
      *            window
      */
-	public ANDROIDTextField(ANDROIDGUIElementSpec specification,
-			ANDROIDGUIElement parent) {
-		super(specification, parent);
-		
-	}
-	
-	/*
+    public ANDROIDTextField(ANDROIDGUIElementSpec specification, ANDROIDGUIElement parent) {
+        super(specification, parent);
+
+    }
+
+    /*
      * (non-Javadoc)
      * 
