Bug 548026: Fix unnecessary exceptions and report formatting

Change-Id: I940ba38ea589e1cbb6e9346dab7a96bde30a6bac
diff --git a/ecl/plugins/org.eclipse.rcptt.ecl.core/src/org/eclipse/rcptt/ecl/core/util/ProcessStatuses.java b/ecl/plugins/org.eclipse.rcptt.ecl.core/src/org/eclipse/rcptt/ecl/core/util/ProcessStatuses.java
new file mode 100644
index 0000000..751778d
--- /dev/null
+++ b/ecl/plugins/org.eclipse.rcptt.ecl.core/src/org/eclipse/rcptt/ecl/core/util/ProcessStatuses.java
@@ -0,0 +1,18 @@
+package org.eclipse.rcptt.ecl.core.util;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.rcptt.ecl.core.ProcessStatus;
+import org.eclipse.rcptt.ecl.internal.core.ProcessStatusConverter;
+
+public final class ProcessStatuses {
+	private ProcessStatuses() {}
+	
+	public static ProcessStatus adapt(IStatus status) {
+		return ProcessStatusConverter.toProcessStatus(status);
+	}
+	
+	public static IStatus adapt(ProcessStatus status) {
+		return ProcessStatusConverter.toIStatus(status);
+	}
+
+}
diff --git a/ecl/plugins/org.eclipse.rcptt.ecl.core/src/org/eclipse/rcptt/ecl/internal/core/ProcessStatusConverter.java b/ecl/plugins/org.eclipse.rcptt.ecl.core/src/org/eclipse/rcptt/ecl/internal/core/ProcessStatusConverter.java
index 97df5aa..87f058f 100644
--- a/ecl/plugins/org.eclipse.rcptt.ecl.core/src/org/eclipse/rcptt/ecl/internal/core/ProcessStatusConverter.java
+++ b/ecl/plugins/org.eclipse.rcptt.ecl.core/src/org/eclipse/rcptt/ecl/internal/core/ProcessStatusConverter.java
@@ -92,7 +92,7 @@
 						throw e;
 					Constructor<?> constructor = forName.getConstructor(IStatus.class);
 					Throwable newInstance = (Throwable) constructor
-							.newInstance(toIStatus(exception.getStatus()), null);
+							.newInstance(toIStatus(exception.getStatus()));
 					th = newInstance;
 					th.addSuppressed(e);
 				}
diff --git a/launching/org.eclipse.rcptt.reporting.html/src/org/eclipse/rcptt/reporting/html/FullSingleTestHtmlRenderer.java b/launching/org.eclipse.rcptt.reporting.html/src/org/eclipse/rcptt/reporting/html/FullSingleTestHtmlRenderer.java
index f4ad8e1..b92b4c0 100644
--- a/launching/org.eclipse.rcptt.reporting.html/src/org/eclipse/rcptt/reporting/html/FullSingleTestHtmlRenderer.java
+++ b/launching/org.eclipse.rcptt.reporting.html/src/org/eclipse/rcptt/reporting/html/FullSingleTestHtmlRenderer.java
@@ -27,15 +27,12 @@
 
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.ecore.EObject;
-import org.eclipse.rcptt.ecl.core.CoreFactory;
 import org.eclipse.rcptt.ecl.core.EclException;
 import org.eclipse.rcptt.ecl.core.ProcessStatus;
 import org.eclipse.rcptt.reporting.Q7Info;
 import org.eclipse.rcptt.reporting.core.ReportHelper;
 import org.eclipse.rcptt.reporting.core.SimpleSeverity;
 import org.eclipse.rcptt.reporting.util.ReportUtils;
-import org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus;
-import org.eclipse.rcptt.sherlock.core.model.sherlock.JavaException;
 import org.eclipse.rcptt.sherlock.core.model.sherlock.report.Event;
 import org.eclipse.rcptt.sherlock.core.model.sherlock.report.LoggingCategory;
 import org.eclipse.rcptt.sherlock.core.model.sherlock.report.Node;
@@ -223,8 +220,8 @@
 	}
 
 	private void renderEvent(EObject eObject) {
-		if (eObject instanceof EclipseStatus) {
-			renderResult(toResult((EclipseStatus) eObject));
+		if (eObject instanceof ProcessStatus) {
+			renderResult((ProcessStatus) eObject);
 		} else if (eObject instanceof Screenshot) {
 			renderScreenShot((Screenshot) eObject, "");
 		} else if (eObject instanceof AdvancedInformation) {
@@ -321,28 +318,6 @@
 		return rv;
 	}
 
-	private ProcessStatus toResult(EclipseStatus input) {
-		ProcessStatus rv = CoreFactory.eINSTANCE.createProcessStatus();
-		rv.setSeverity(input.getSeverity());
-		rv.setMessage(input.getMessage());
-		rv.setException(toEclException(input.getException()));
-		rv.setPluginId(input.getPlugin());
-		for (EclipseStatus child : input.getChildren()) {
-			rv.getChildren().add(toResult(child));
-		}
-		return rv;
-	}
-
-	private EclException toEclException(JavaException input) {
-		if (input == null)
-			return null;
-		EclException rv = CoreFactory.eINSTANCE.createEclException();
-		rv.setCause(toEclException(input.getCause()));
-		rv.setClassName(input.getClassName());
-		rv.setMessage(input.getMessage());
-		return rv;
-	}
-	
 	private void openDetails(int level, String title, String classes) {
 		writer.print("<details class=\"closed\">");
 		writer.print("<summary>");
diff --git a/launching/org.eclipse.rcptt.reporting.util/src/org/eclipse/rcptt/reporting/util/RcpttReportGenerator.java b/launching/org.eclipse.rcptt.reporting.util/src/org/eclipse/rcptt/reporting/util/RcpttReportGenerator.java
index 17bb267..8b9639e 100644
--- a/launching/org.eclipse.rcptt.reporting.util/src/org/eclipse/rcptt/reporting/util/RcpttReportGenerator.java
+++ b/launching/org.eclipse.rcptt.reporting.util/src/org/eclipse/rcptt/reporting/util/RcpttReportGenerator.java
@@ -32,9 +32,6 @@
 import org.eclipse.rcptt.reporting.core.ReportHelper;
 import org.eclipse.rcptt.reporting.core.SimpleSeverity;
 import org.eclipse.rcptt.reporting.core.TimeFormatHelper;
-import org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus;
-import org.eclipse.rcptt.sherlock.core.model.sherlock.JavaException;
-import org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry;
 import org.eclipse.rcptt.sherlock.core.model.sherlock.report.Event;
 import org.eclipse.rcptt.sherlock.core.model.sherlock.report.LoggingCategory;
 import org.eclipse.rcptt.sherlock.core.model.sherlock.report.Node;
@@ -136,8 +133,8 @@
 	}
 
 	public void printObject(EObject object, int tabs) throws IOException {
-		if (object instanceof EclipseStatus) {
-			printStatus((EclipseStatus) object, tabs);
+		if (object instanceof ProcessStatus) {
+			printStatus((ProcessStatus) object, tabs);
 		} else if (object instanceof Snaphot) {
 			writeSnapshot((Snaphot) object, tabs);
 		} else {
@@ -169,43 +166,8 @@
 		new AdvancedInformationGenerator(writer).writeAdvanced(data, tabs);
 	}
 
-	private PrintWriter w(int tabs) {
-		return writeTabs(tabs);
-	}
-
-	private void printStatus(EclipseStatus status, int tabs) throws IOException {
-		SimpleSeverity severity = SimpleSeverity.create(status.getSeverity());
-		w(tabs).append(severity.name());
-		writer.append(" in plugin: ").println(status.getPlugin());
-		w(tabs).append("message: ").println(status.getMessage());
-		if (status.getException() != null) {
-			w(tabs).println("exception: ");
-			printJavaException(status.getException(), tabs + 2);
-		}
-		for (EclipseStatus child : status.getChildren()) {
-			printStatus(child, tabs + 1);
-		}
-	}
-
-	private void printJavaException(JavaException e, int tabs) {
-		w(tabs).append(e.getClassName());
-		if (!StringUtils.isEmpty(e.getMessage())) {
-			writer.print(":" + e.getMessage());
-		}
-		writer.println();
-		for (JavaStackTraceEntry st : e.getStackTrace()) {
-			w(tabs + 2).append("at ")
-					.append(st.getClassName()).append(".")
-					.append(st.getMethodName()).append("(")
-					.append(st.getFileName()).append(":")
-					.append("" + st.getLineNumber()).append(")")
-					.println();
-		}
-		JavaException cause = e.getCause();
-		if (cause != null) {
-			w(tabs + 2).println("Caused by:");
-			printJavaException(cause, tabs + 1);
-		}
+	private void printStatus(ProcessStatus status, int tabs) throws IOException {
+		writeResult(writer, tabs, status);
 	}
 
 	protected void printChildren(int tabs, Node infoNode) {
@@ -339,22 +301,27 @@
 					.append("time: " +
 							TimeFormatHelper.format(infoNode.getDuration()))
 					.println();
-			writeResult(tabs + 1, q7Info.getResult());
+			writeResult(writer, tabs + 1, q7Info.getResult());
 		}
 	}
 
-	public void writeResult(int tabs, ProcessStatus result) {
+	public static void writeResult(Writer writer, int tabs, ProcessStatus result) {
 		if (result == null)
 			result = RcpttPlugin.createProcessStatus(IStatus.ERROR, "Null result");
 		if (SimpleSeverity.create(result) == SimpleSeverity.OK)
 			return;
-		w(tabs).append("Result: ")
-				.append(SimpleSeverity.create(result).name())
-				.append(", message: ")
-				.println(ReportUtils.getDirectFailMessage(result, ReportUtils.DEFAULT_DATUM_TO_MESSAGE));
+		try {
+			writeTabs(writer, tabs).append("Result: ")
+					.append(SimpleSeverity.create(result).name())
+					.append(", message: ")
+					.append(ReportUtils.getDirectFailMessage(result, ReportUtils.DEFAULT_DATUM_TO_MESSAGE))
+					.append("\n");
+		} catch (IOException e) {
+			throw new IllegalArgumentException(e);
+		}
 		writeException(writer, tabs + 1, result.getException());
 		for (ProcessStatus child : result.getChildren()) {
-			writeResult(tabs + 1, child);
+			writeResult(writer, tabs + 1, child);
 		}
 	}
 
@@ -367,7 +334,13 @@
 				writeTabs(this, tabs);
 			}
 		};
-		ProcessStatusConverter.getThrowable(exception).printStackTrace(iwriter);
+		Throwable throwable = ProcessStatusConverter.getThrowable(exception);
+		throwable.printStackTrace(iwriter);
+		ProcessStatus status = exception.getStatus();
+		if (status != null) {
+			writeResult(iwriter, 1, status);
+		}
+			
 		iwriter.println();
 		iwriter.flush();
 	}
diff --git a/launching/org.eclipse.rcptt.reporting.util/src/org/eclipse/rcptt/reporting/util/ReportEntry.java b/launching/org.eclipse.rcptt.reporting.util/src/org/eclipse/rcptt/reporting/util/ReportEntry.java
index 182efef..219db3d 100644
--- a/launching/org.eclipse.rcptt.reporting.util/src/org/eclipse/rcptt/reporting/util/ReportEntry.java
+++ b/launching/org.eclipse.rcptt.reporting.util/src/org/eclipse/rcptt/reporting/util/ReportEntry.java
@@ -64,8 +64,7 @@
 		Node root = next.getRoot();
 		Q7Info info = ReportHelper.getInfo(root);
 		StringWriter writer = new StringWriter();
-		new RcpttReportGenerator(new PrintWriter(writer), new ArrayList<ImageEntry>()).writeResult(0,
-				info.getResult());
+		RcpttReportGenerator.writeResult(new PrintWriter(writer), 0, info.getResult());
 		ReportEntry entry = new ReportEntry(root.getName(), info.getId(), (int) root.getDuration(),
 				info.getResult().getSeverity(), writer.toString());
 		return entry;
diff --git a/launching/org.eclipse.rcptt.reporting.util/src/org/eclipse/rcptt/reporting/util/ReportUtils.java b/launching/org.eclipse.rcptt.reporting.util/src/org/eclipse/rcptt/reporting/util/ReportUtils.java
index 729801a..a1f3636 100644
--- a/launching/org.eclipse.rcptt.reporting.util/src/org/eclipse/rcptt/reporting/util/ReportUtils.java
+++ b/launching/org.eclipse.rcptt.reporting.util/src/org/eclipse/rcptt/reporting/util/ReportUtils.java
@@ -36,7 +36,6 @@
 import org.eclipse.rcptt.reporting.core.IQ7ReportConstants;
 import org.eclipse.rcptt.reporting.core.SimpleSeverity;
 import org.eclipse.rcptt.reporting.util.internal.Plugin;
-import org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus;
 import org.eclipse.rcptt.sherlock.core.model.sherlock.report.Event;
 import org.eclipse.rcptt.sherlock.core.model.sherlock.report.EventSource;
 import org.eclipse.rcptt.sherlock.core.model.sherlock.report.Node;
@@ -438,8 +437,8 @@
 			}
 			EList<Event> events = item.getEvents();
 			for (Event event : events) {
-				if (event.getData() instanceof EclipseStatus) {
-					EclipseStatus data = (EclipseStatus) event.getData();
+				if (event.getData() instanceof ProcessStatus) {
+					ProcessStatus data = (ProcessStatus) event.getData();
 					new SimpleReportGenerator().toString(result, 1, data);
 					result.append("\n");
 				}
diff --git a/launching/tests/org.eclipse.rcptt.launching.tests/.project b/launching/tests/org.eclipse.rcptt.launching.tests/.project
index ecc7d25..e60abec 100644
--- a/launching/tests/org.eclipse.rcptt.launching.tests/.project
+++ b/launching/tests/org.eclipse.rcptt.launching.tests/.project
@@ -25,4 +25,15 @@
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 	</natures>
+	<filteredResources>
+		<filter>
+			<id>1560931003758</id>
+			<name></name>
+			<type>10</type>
+			<matcher>
+				<id>org.eclipse.ui.ide.multiFilter</id>
+				<arguments>1.0-name-matches-true-false-target</arguments>
+			</matcher>
+		</filter>
+	</filteredResources>
 </projectDescription>
diff --git a/launching/tests/org.eclipse.rcptt.launching.tests/src/org/eclipse/rcptt/internal/launching/aut/BaseAutLaunchTest.java b/launching/tests/org.eclipse.rcptt.launching.tests/src/org/eclipse/rcptt/internal/launching/aut/BaseAutLaunchTest.java
index a764e37..bcfe447 100644
--- a/launching/tests/org.eclipse.rcptt.launching.tests/src/org/eclipse/rcptt/internal/launching/aut/BaseAutLaunchTest.java
+++ b/launching/tests/org.eclipse.rcptt.launching.tests/src/org/eclipse/rcptt/internal/launching/aut/BaseAutLaunchTest.java
@@ -180,9 +180,12 @@
 		});
 		try {
 			NullProgressMonitor monitor = new NullProgressMonitor();
-			Job.createSystem(m -> {
+			Job cancelJob = Job.createSystem("cancelJob", m -> {
 				monitor.setCanceled(true);
-			}).schedule(300);
+			});
+			cancelJob.setPriority(Job.INTERACTIVE);
+			cancelJob.schedule(300);
+			
 			subject.execute(script, Integer.MAX_VALUE, monitor);
 			Assert.fail("Should throw cancellation");
 		} catch (CoreException e) {
diff --git a/modules/rap/bundles/runtime/watson/org.eclipse.rcptt.watson.jface.rap/META-INF/MANIFEST.MF b/modules/rap/bundles/runtime/watson/org.eclipse.rcptt.watson.jface.rap/META-INF/MANIFEST.MF
deleted file mode 100644
index f58c42a..0000000
--- a/modules/rap/bundles/runtime/watson/org.eclipse.rcptt.watson.jface.rap/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,12 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Sherlock Jface Policy Event Provider
-Bundle-SymbolicName: org.eclipse.rcptt.watson.jface.rap;singleton:=true
-Bundle-Version: 2.5.0.qualifier
-Bundle-Activator: org.eclipse.rcptt.sherlock.jface.rap.Activator
-Bundle-Vendor: Eclipse RCP Testing Tool Project
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.rap.jface,
- org.eclipse.rcptt.watson.core;bundle-version="[2.5.0,3.0.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Bundle-ActivationPolicy: lazy
diff --git a/modules/rap/bundles/runtime/watson/org.eclipse.rcptt.watson.jface.rap/about.html b/modules/rap/bundles/runtime/watson/org.eclipse.rcptt.watson.jface.rap/about.html
deleted file mode 100644
index 692eebb..0000000
--- a/modules/rap/bundles/runtime/watson/org.eclipse.rcptt.watson.jface.rap/about.html
+++ /dev/null
@@ -1,28 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
-<title>About</title>
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
- 
-<p>February 24, 2014</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
-indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
-at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
-being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was 
-provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
-
-</body>
-</html>
diff --git a/modules/rap/bundles/runtime/watson/org.eclipse.rcptt.watson.jface.rap/build.properties b/modules/rap/bundles/runtime/watson/org.eclipse.rcptt.watson.jface.rap/build.properties
deleted file mode 100644
index 0842cef..0000000
--- a/modules/rap/bundles/runtime/watson/org.eclipse.rcptt.watson.jface.rap/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2009, 2016 Xored Software Inc and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     Xored Software Inc - initial API and implementation and/or initial documentation
-###############################################################################
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
-               .,\
-               plugin.xml,\
-               about.html
diff --git a/modules/rap/bundles/runtime/watson/org.eclipse.rcptt.watson.jface.rap/epl-v10.html b/modules/rap/bundles/runtime/watson/org.eclipse.rcptt.watson.jface.rap/epl-v10.html
deleted file mode 100644
index fd39122..0000000
--- a/modules/rap/bundles/runtime/watson/org.eclipse.rcptt.watson.jface.rap/epl-v10.html
+++ /dev/null
@@ -1,261 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
-<title>Eclipse Public License - Version 1.0</title>
-<style type="text/css">
-  body {
-    size: 8.5in 11.0in;
-    margin: 0.25in 0.5in 0.25in 0.5in;
-    tab-interval: 0.5in;
-    }
-  p {  	
-    margin-left: auto;
-    margin-top:  0.5em;
-    margin-bottom: 0.5em;
-    }
-  p.list {
-  	margin-left: 0.5in;
-    margin-top:  0.05em;
-    margin-bottom: 0.05em;
-    }
-  </style>
-
-</head>
-
-<body lang="EN-US">
-
-<h2>Eclipse Public License - v 1.0</h2>
-
-<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
-PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE, REPRODUCTION OR
-DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS
-AGREEMENT.</p>
-
-<p><b>1. DEFINITIONS</b></p>
-
-<p>&quot;Contribution&quot; means:</p>
-
-<p class="list">a) in the case of the initial Contributor, the initial
-code and documentation distributed under this Agreement, and</p>
-<p class="list">b) in the case of each subsequent Contributor:</p>
-<p class="list">i) changes to the Program, and</p>
-<p class="list">ii) additions to the Program;</p>
-<p class="list">where such changes and/or additions to the Program
-originate from and are distributed by that particular Contributor. A
-Contribution 'originates' from a Contributor if it was added to the
-Program by such Contributor itself or anyone acting on such
-Contributor's behalf. Contributions do not include additions to the
-Program which: (i) are separate modules of software distributed in
-conjunction with the Program under their own license agreement, and (ii)
-are not derivative works of the Program.</p>
-
-<p>&quot;Contributor&quot; means any person or entity that distributes
-the Program.</p>
-
-<p>&quot;Licensed Patents&quot; mean patent claims licensable by a
-Contributor which are necessarily infringed by the use or sale of its
-Contribution alone or when combined with the Program.</p>
-
-<p>&quot;Program&quot; means the Contributions distributed in accordance
-with this Agreement.</p>
-
-<p>&quot;Recipient&quot; means anyone who receives the Program under
-this Agreement, including all Contributors.</p>
-
-<p><b>2. GRANT OF RIGHTS</b></p>
-
-<p class="list">a) Subject to the terms of this Agreement, each
-Contributor hereby grants Recipient a non-exclusive, worldwide,
-royalty-free copyright license to reproduce, prepare derivative works
-of, publicly display, publicly perform, distribute and sublicense the
-Contribution of such Contributor, if any, and such derivative works, in
-source code and object code form.</p>
-
-<p class="list">b) Subject to the terms of this Agreement, each
-Contributor hereby grants Recipient a non-exclusive, worldwide,
-royalty-free patent license under Licensed Patents to make, use, sell,
-offer to sell, import and otherwise transfer the Contribution of such
-Contributor, if any, in source code and object code form. This patent
-license shall apply to the combination of the Contribution and the
-Program if, at the time the Contribution is added by the Contributor,
-such addition of the Contribution causes such combination to be covered
-by the Licensed Patents. The patent license shall not apply to any other
-combinations which include the Contribution. No hardware per se is
-licensed hereunder.</p>
-
-<p class="list">c) Recipient understands that although each Contributor
-grants the licenses to its Contributions set forth herein, no assurances
-are provided by any Contributor that the Program does not infringe the
-patent or other intellectual property rights of any other entity. Each
-Contributor disclaims any liability to Recipient for claims brought by
-any other entity based on infringement of intellectual property rights
-or otherwise. As a condition to exercising the rights and licenses
-granted hereunder, each Recipient hereby assumes sole responsibility to
-secure any other intellectual property rights needed, if any. For
-example, if a third party patent license is required to allow Recipient
-to distribute the Program, it is Recipient's responsibility to acquire
-that license before distributing the Program.</p>
-
-<p class="list">d) Each Contributor represents that to its knowledge it
-has sufficient copyright rights in its Contribution, if any, to grant
-the copyright license set forth in this Agreement.</p>
-
-<p><b>3. REQUIREMENTS</b></p>
-
-<p>A Contributor may choose to distribute the Program in object code
-form under its own license agreement, provided that:</p>
-
-<p class="list">a) it complies with the terms and conditions of this
-Agreement; and</p>
-
-<p class="list">b) its license agreement:</p>
-
-<p class="list">i) effectively disclaims on behalf of all Contributors
-all warranties and conditions, express and implied, including warranties
-or conditions of title and non-infringement, and implied warranties or
-conditions of merchantability and fitness for a particular purpose;</p>
-
-<p class="list">ii) effectively excludes on behalf of all Contributors
-all liability for damages, including direct, indirect, special,
-incidental and consequential damages, such as lost profits;</p>
-
-<p class="list">iii) states that any provisions which differ from this
-Agreement are offered by that Contributor alone and not by any other
-party; and</p>
-
-<p class="list">iv) states that source code for the Program is available
-from such Contributor, and informs licensees how to obtain it in a
-reasonable manner on or through a medium customarily used for software
-exchange.</p>
-
-<p>When the Program is made available in source code form:</p>
-
-<p class="list">a) it must be made available under this Agreement; and</p>
-
-<p class="list">b) a copy of this Agreement must be included with each
-copy of the Program.</p>
-
-<p>Contributors may not remove or alter any copyright notices contained
-within the Program.</p>
-
-<p>Each Contributor must identify itself as the originator of its
-Contribution, if any, in a manner that reasonably allows subsequent
-Recipients to identify the originator of the Contribution.</p>
-
-<p><b>4. COMMERCIAL DISTRIBUTION</b></p>
-
-<p>Commercial distributors of software may accept certain
-responsibilities with respect to end users, business partners and the
-like. While this license is intended to facilitate the commercial use of
-the Program, the Contributor who includes the Program in a commercial
-product offering should do so in a manner which does not create
-potential liability for other Contributors. Therefore, if a Contributor
-includes the Program in a commercial product offering, such Contributor
-(&quot;Commercial Contributor&quot;) hereby agrees to defend and
-indemnify every other Contributor (&quot;Indemnified Contributor&quot;)
-against any losses, damages and costs (collectively &quot;Losses&quot;)
-arising from claims, lawsuits and other legal actions brought by a third
-party against the Indemnified Contributor to the extent caused by the
-acts or omissions of such Commercial Contributor in connection with its
-distribution of the Program in a commercial product offering. The
-obligations in this section do not apply to any claims or Losses
-relating to any actual or alleged intellectual property infringement. In
-order to qualify, an Indemnified Contributor must: a) promptly notify
-the Commercial Contributor in writing of such claim, and b) allow the
-Commercial Contributor to control, and cooperate with the Commercial
-Contributor in, the defense and any related settlement negotiations. The
-Indemnified Contributor may participate in any such claim at its own
-expense.</p>
-
-<p>For example, a Contributor might include the Program in a commercial
-product offering, Product X. That Contributor is then a Commercial
-Contributor. If that Commercial Contributor then makes performance
-claims, or offers warranties related to Product X, those performance
-claims and warranties are such Commercial Contributor's responsibility
-alone. Under this section, the Commercial Contributor would have to
-defend claims against the other Contributors related to those
-performance claims and warranties, and if a court requires any other
-Contributor to pay any damages as a result, the Commercial Contributor
-must pay those damages.</p>
-
-<p><b>5. NO WARRANTY</b></p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
-PROVIDED ON AN &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS
-OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
-ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY
-OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely
-responsible for determining the appropriateness of using and
-distributing the Program and assumes all risks associated with its
-exercise of rights under this Agreement , including but not limited to
-the risks and costs of program errors, compliance with applicable laws,
-damage to or loss of data, programs or equipment, and unavailability or
-interruption of operations.</p>
-
-<p><b>6. DISCLAIMER OF LIABILITY</b></p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT
-NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
-INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING
-WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR
-DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED
-HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</p>
-
-<p><b>7. GENERAL</b></p>
-
-<p>If any provision of this Agreement is invalid or unenforceable under
-applicable law, it shall not affect the validity or enforceability of
-the remainder of the terms of this Agreement, and without further action
-by the parties hereto, such provision shall be reformed to the minimum
-extent necessary to make such provision valid and enforceable.</p>
-
-<p>If Recipient institutes patent litigation against any entity
-(including a cross-claim or counterclaim in a lawsuit) alleging that the
-Program itself (excluding combinations of the Program with other
-software or hardware) infringes such Recipient's patent(s), then such
-Recipient's rights granted under Section 2(b) shall terminate as of the
-date such litigation is filed.</p>
-
-<p>All Recipient's rights under this Agreement shall terminate if it
-fails to comply with any of the material terms or conditions of this
-Agreement and does not cure such failure in a reasonable period of time
-after becoming aware of such noncompliance. If all Recipient's rights
-under this Agreement terminate, Recipient agrees to cease use and
-distribution of the Program as soon as reasonably practicable. However,
-Recipient's obligations under this Agreement and any licenses granted by
-Recipient relating to the Program shall continue and survive.</p>
-
-<p>Everyone is permitted to copy and distribute copies of this
-Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The
-Agreement Steward reserves the right to publish new versions (including
-revisions) of this Agreement from time to time. No one other than the
-Agreement Steward has the right to modify this Agreement. The Eclipse
-Foundation is the initial Agreement Steward. The Eclipse Foundation may
-assign the responsibility to serve as the Agreement Steward to a
-suitable separate entity. Each new version of the Agreement will be
-given a distinguishing version number. The Program (including
-Contributions) may always be distributed subject to the version of the
-Agreement under which it was received. In addition, after a new version
-of the Agreement is published, Contributor may elect to distribute the
-Program (including its Contributions) under the new version. Except as
-expressly stated in Sections 2(a) and 2(b) above, Recipient receives no
-rights or licenses to the intellectual property of any Contributor under
-this Agreement, whether expressly, by implication, estoppel or
-otherwise. All rights in the Program not expressly granted under this
-Agreement are reserved.</p>
-
-<p>This Agreement is governed by the laws of the State of New York and
-the intellectual property laws of the United States of America. No party
-to this Agreement will bring a legal action under this Agreement more
-than one year after the cause of action arose. Each party waives its
-rights to a jury trial in any resulting litigation.</p>
-
-</body>
-
-</html>
diff --git a/modules/rap/bundles/runtime/watson/org.eclipse.rcptt.watson.jface.rap/plugin.xml b/modules/rap/bundles/runtime/watson/org.eclipse.rcptt.watson.jface.rap/plugin.xml
deleted file mode 100644
index c982631..0000000
--- a/modules/rap/bundles/runtime/watson/org.eclipse.rcptt.watson.jface.rap/plugin.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<!--
-    /*******************************************************************************
-     * Copyright (c) 2009, 2016 Xored Software Inc and others.
-     * All rights reserved. This program and the accompanying materials
-     * are made available under the terms of the Eclipse Public License v1.0
-     * which accompanies this distribution, and is available at
-     * http://www.eclipse.org/legal/epl-v10.html
-     *
-     * Contributors:
-     *     Xored Software Inc - initial API and implementation and/or initial documentation
-     *******************************************************************************/
- -->
-
-<plugin>
-   <extension
-         point="org.eclipse.rcptt.watson.core.eventProvider">
-      <provider
-            class="org.eclipse.rcptt.sherlock.jface.rap.JfacePolicyEventProvider"
-            id="org.eclipse.rcptt.sherlock.core.jface.log.provider">
-      </provider>
-   </extension>
-
-</plugin>
diff --git a/modules/rap/bundles/runtime/watson/org.eclipse.rcptt.watson.jface.rap/pom.xml b/modules/rap/bundles/runtime/watson/org.eclipse.rcptt.watson.jface.rap/pom.xml
deleted file mode 100644
index 979b2d6..0000000
--- a/modules/rap/bundles/runtime/watson/org.eclipse.rcptt.watson.jface.rap/pom.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    /*******************************************************************************
-     * Copyright (c) 2009, 2019 Xored Software Inc and others.
-     * All rights reserved. This program and the accompanying materials
-     * are made available under the terms of the Eclipse Public License v1.0
-     * which accompanies this distribution, and is available at
-     * http://www.eclipse.org/legal/epl-v10.html
-     *
-     * Contributors:
-     *     Xored Software Inc - initial API and implementation and/or initial documentation
-     *******************************************************************************/
- -->
-
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <modelVersion>4.0.0</modelVersion>
-  <parent>
-    <groupId>org.eclipse.rcptt.module.rap</groupId>
-    <artifactId>rcptt.runtime.watson</artifactId>
-    <version>2.5.0-SNAPSHOT</version>
-  </parent>
-
-  <artifactId>org.eclipse.rcptt.watson.jface.rap</artifactId>
-  <packaging>eclipse-plugin</packaging>
-</project>
diff --git a/modules/rap/bundles/runtime/watson/org.eclipse.rcptt.watson.jface.rap/src/org/eclipse/rcptt/sherlock/jface/rap/Activator.java b/modules/rap/bundles/runtime/watson/org.eclipse.rcptt.watson.jface.rap/src/org/eclipse/rcptt/sherlock/jface/rap/Activator.java
deleted file mode 100644
index 91920a9..0000000
--- a/modules/rap/bundles/runtime/watson/org.eclipse.rcptt.watson.jface.rap/src/org/eclipse/rcptt/sherlock/jface/rap/Activator.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2016 Xored Software Inc and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Xored Software Inc - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.rcptt.sherlock.jface.rap;
-
-import org.osgi.framework.BundleActivator;
-import org.osgi.framework.BundleContext;
-
-public class Activator implements BundleActivator {
-
-	private static BundleContext context;
-
-	static BundleContext getContext() {
-		return context;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext bundleContext) throws Exception {
-		Activator.context = bundleContext;
-	}
-
-	/*
-	 * (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext bundleContext) throws Exception {
-		Activator.context = null;
-	}
-
-}
diff --git a/modules/rap/bundles/runtime/watson/org.eclipse.rcptt.watson.jface.rap/src/org/eclipse/rcptt/sherlock/jface/rap/JfacePolicyEventProvider.java b/modules/rap/bundles/runtime/watson/org.eclipse.rcptt.watson.jface.rap/src/org/eclipse/rcptt/sherlock/jface/rap/JfacePolicyEventProvider.java
deleted file mode 100644
index bcc7545..0000000
--- a/modules/rap/bundles/runtime/watson/org.eclipse.rcptt.watson.jface.rap/src/org/eclipse/rcptt/sherlock/jface/rap/JfacePolicyEventProvider.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2016 Xored Software Inc and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Xored Software Inc - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.rcptt.sherlock.jface.rap;
-
-import org.eclipse.core.runtime.ILogListener;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.jface.util.ILogger;
-import org.eclipse.jface.util.Policy;
-import org.eclipse.rcptt.sherlock.core.INodeBuilder;
-import org.eclipse.rcptt.sherlock.core.SherlockCore;
-import org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus;
-import org.eclipse.rcptt.sherlock.core.model.sherlock.report.Event;
-import org.eclipse.rcptt.sherlock.core.model.sherlock.report.ReportFactory;
-import org.eclipse.rcptt.sherlock.core.reporting.AbstractEventProvider;
-import org.eclipse.rcptt.sherlock.core.reporting.IEventProvider;
-import org.eclipse.rcptt.sherlock.core.reporting.IReportBuilder;
-import org.eclipse.rcptt.sherlock.core.reporting.internal.EventLogEventProvider;
-
-public class JfacePolicyEventProvider extends AbstractEventProvider implements
-		IEventProvider, ILogListener {
-
-	private static SherlockJfaceLogger fJFaceLogger;
-	private static ILogger fJfaceNativeLogger;
-
-	public JfacePolicyEventProvider() {
-		fJFaceLogger = new SherlockJfaceLogger(this);
-	}
-
-	public void storeSnapshot(INodeBuilder builder, String type) {
-	}
-
-	public void logging(IStatus status, String plugin) {
-		IReportBuilder[] builders = getListeners();
-		for (IReportBuilder builder : builders) {
-			Event event = ReportFactory.eINSTANCE.createEvent();
-			EclipseStatus data = SherlockCore.convert(status);
-			event.setData(data);
-			data.setThreadName(Thread.currentThread().getName());
-			builder.getCurrent().createEvent(event);
-		}
-	}
-
-	@Override
-	protected void initializeBuilder(IReportBuilder builder) {
-		fJfaceNativeLogger = Policy.getLog();
-		Policy.setLog(fJFaceLogger);
-	}
-
-	@Override
-	protected void doneBuilders() {
-		Policy.setLog(fJfaceNativeLogger);
-	}
-
-	private class SherlockJfaceLogger implements ILogger {
-		private final JfacePolicyEventProvider fSherlockEventProvider;
-
-		public SherlockJfaceLogger(
-				JfacePolicyEventProvider sherlockEventProvider) {
-			fSherlockEventProvider = sherlockEventProvider;
-		}
-
-		public void log(IStatus status) {
-			EventLogEventProvider.handledStatus = status;
-			fSherlockEventProvider.logging(status, "org.eclipse.jface");
-			fJfaceNativeLogger.log(status);
-		}
-	};
-
-}
diff --git a/modules/rap/bundles/runtime/watson/pom.xml b/modules/rap/bundles/runtime/watson/pom.xml
index 1cd2ead..6d1645a 100644
--- a/modules/rap/bundles/runtime/watson/pom.xml
+++ b/modules/rap/bundles/runtime/watson/pom.xml
@@ -22,7 +22,6 @@
     <modules>
     <!-- WATSON PLUGINS -->
     <module>org.eclipse.rcptt.watson.aspects.swt.rap</module>
-    <module>org.eclipse.rcptt.watson.jface.rap</module>
     <module>org.eclipse.rcptt.watson.aspects.jobs.rap</module>
   </modules>
 </project>
diff --git a/modules/rap/features/org.eclipse.rcptt.runtime-feature.rap/feature.xml b/modules/rap/features/org.eclipse.rcptt.runtime-feature.rap/feature.xml
index 917ad69..828a765 100644
--- a/modules/rap/features/org.eclipse.rcptt.runtime-feature.rap/feature.xml
+++ b/modules/rap/features/org.eclipse.rcptt.runtime-feature.rap/feature.xml
@@ -510,13 +510,6 @@
          version="2.5.0.qualifier"
          unpack="false"/>
 
-    <plugin
-         id="org.eclipse.rcptt.watson.jface.rap"
-         download-size="0"
-         install-size="0"
-         version="2.5.0.qualifier"
-         unpack="false"/>
-
    <plugin
          id="org.eclipse.rcptt.watson.aspects.jobs.rap"
          download-size="0"
diff --git a/releng/ide/pom.xml b/releng/ide/pom.xml
index 6d4c4f6..01f384b 100644
--- a/releng/ide/pom.xml
+++ b/releng/ide/pom.xml
@@ -45,7 +45,7 @@
     <repository>
       <id>2019-06-updates</id>
       <layout>p2</layout>
-      <url>http://download.eclipse.org/eclipse/updates/4.12milestones</url>
+      <url>http://download.eclipse.org/eclipse/updates/4.13milestones</url>
     </repository>
     <repository>
       <id>2019-03</id>
diff --git a/releng/runner/pom.xml b/releng/runner/pom.xml
index a398055..be0b9bc 100644
--- a/releng/runner/pom.xml
+++ b/releng/runner/pom.xml
@@ -32,7 +32,7 @@
     <repository>
       <id>2019-06-updates</id>
       <layout>p2</layout>
-      <url>http://download.eclipse.org/eclipse/updates/4.12milestones</url>
+      <url>http://download.eclipse.org/eclipse/updates/4.13milestones</url>
     </repository>
     <repository>
       <id>2019-03</id>
diff --git a/modules/rap/bundles/runtime/watson/org.eclipse.rcptt.watson.jface.rap/.classpath b/runtime/tests/org.eclipse.rcptt.watson.test/.classpath
similarity index 67%
rename from modules/rap/bundles/runtime/watson/org.eclipse.rcptt.watson.jface.rap/.classpath
rename to runtime/tests/org.eclipse.rcptt.watson.test/.classpath
index ad32c83..3e5654f 100644
--- a/modules/rap/bundles/runtime/watson/org.eclipse.rcptt.watson.jface.rap/.classpath
+++ b/runtime/tests/org.eclipse.rcptt.watson.test/.classpath
@@ -1,7 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="src" path="src">
+		<attributes>
+			<attribute name="test" value="true"/>
+		</attributes>
+	</classpathentry>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/modules/rap/bundles/runtime/watson/org.eclipse.rcptt.watson.jface.rap/.project b/runtime/tests/org.eclipse.rcptt.watson.test/.project
similarity index 66%
rename from modules/rap/bundles/runtime/watson/org.eclipse.rcptt.watson.jface.rap/.project
rename to runtime/tests/org.eclipse.rcptt.watson.test/.project
index a30aeef..6b5b4a2 100644
--- a/modules/rap/bundles/runtime/watson/org.eclipse.rcptt.watson.jface.rap/.project
+++ b/runtime/tests/org.eclipse.rcptt.watson.test/.project
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <projectDescription>
-	<name>org.eclipse.rcptt.watson.jface.rap</name>
+	<name>org.eclipse.rcptt.watson.test</name>
 	<comment></comment>
 	<projects>
 	</projects>
@@ -25,4 +25,15 @@
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 	</natures>
+	<filteredResources>
+		<filter>
+			<id>1560940084019</id>
+			<name></name>
+			<type>10</type>
+			<matcher>
+				<id>org.eclipse.ui.ide.multiFilter</id>
+				<arguments>1.0-name-matches-true-false-target</arguments>
+			</matcher>
+		</filter>
+	</filteredResources>
 </projectDescription>
diff --git a/runtime/tests/org.eclipse.rcptt.watson.test/META-INF/MANIFEST.MF b/runtime/tests/org.eclipse.rcptt.watson.test/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..91ff818
--- /dev/null
+++ b/runtime/tests/org.eclipse.rcptt.watson.test/META-INF/MANIFEST.MF
@@ -0,0 +1,11 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Reporting tests
+Bundle-SymbolicName: org.eclipse.rcptt.watson.test
+Bundle-Version: 2.5.0.qualifier
+Automatic-Module-Name: org.eclipse.rcptt.watson.test
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.junit,
+ org.eclipse.rcptt.watson.core,
+ org.eclipse.rcptt.ecl.core,
+ org.eclipse.core.runtime;bundle-version="3.15.200"
diff --git a/runtime/tests/org.eclipse.rcptt.watson.test/build.properties b/runtime/tests/org.eclipse.rcptt.watson.test/build.properties
new file mode 100644
index 0000000..34d2e4d
--- /dev/null
+++ b/runtime/tests/org.eclipse.rcptt.watson.test/build.properties
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .
diff --git a/runtime/tests/org.eclipse.rcptt.watson.test/src/org/eclipse/rcptt/watson/test/ReportProviderManagerTest.java b/runtime/tests/org.eclipse.rcptt.watson.test/src/org/eclipse/rcptt/watson/test/ReportProviderManagerTest.java
new file mode 100644
index 0000000..5522ba6
--- /dev/null
+++ b/runtime/tests/org.eclipse.rcptt.watson.test/src/org/eclipse/rcptt/watson/test/ReportProviderManagerTest.java
@@ -0,0 +1,120 @@
+package org.eclipse.rcptt.watson.test;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.rcptt.ecl.core.EclStackTraceEntry;
+import org.eclipse.rcptt.ecl.core.ProcessStatus;
+import org.eclipse.rcptt.sherlock.core.INodeBuilder;
+import org.eclipse.rcptt.sherlock.core.SherlockCore;
+import org.eclipse.rcptt.sherlock.core.model.sherlock.report.Event;
+import org.eclipse.rcptt.sherlock.core.model.sherlock.report.EventSource;
+import org.eclipse.rcptt.sherlock.core.model.sherlock.report.LoggingCategory;
+import org.eclipse.rcptt.sherlock.core.model.sherlock.report.Node;
+import org.eclipse.rcptt.sherlock.core.model.sherlock.report.Snaphot;
+import org.eclipse.rcptt.sherlock.core.reporting.EventProviderManager;
+import org.eclipse.rcptt.sherlock.core.reporting.IReportBuilder;
+import org.eclipse.rcptt.sherlock.core.reporting.Procedure1;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class ReportProviderManagerTest {
+	
+	private class FlatReport implements IReportBuilder {
+		public final Node node = org.eclipse.rcptt.sherlock.core.model.sherlock.report.ReportFactory.eINSTANCE.createNode();
+
+		@Override
+		public EventSource registerEventSource(String name) {
+			return null;
+		}
+
+		@Override
+		public EventSource findSource(String attr, EObject info) {
+			return null;
+		}
+
+		@Override
+		public INodeBuilder getCurrent() {
+			return new INodeBuilder() {
+				
+				@Override
+				public void update(Procedure1<Node> runnable) {
+					runnable.apply(node);
+				}
+				
+				@Override
+				public void setProperty(String key, EObject value) {
+					node.getProperties().put(key, value);
+				}
+				
+				@Override
+				public EObject getProperty(String key) {
+					return node.getProperties().get(key);
+				}
+				
+				@Override
+				public INodeBuilder getParent() {
+					return this;
+				}
+				
+				@Override
+				public String getName() {
+					return "";
+				}
+				
+				@Override
+				public void endTask() {
+					
+				}
+				
+				@Override
+				public void createEvent(Event event) {
+					node.getEvents().add(event);
+				}
+				
+				@Override
+				public INodeBuilder beginTask(String name) {
+					return this;
+				}
+				
+				@Override
+				public INodeBuilder appendTask(String name) {
+					return this;
+				}
+				
+				@Override
+				public void appendLog(LoggingCategory category, String text) {
+				}
+				
+				@Override
+				public void addSnapshot(Snaphot snapshot) {
+				}
+			};
+		}
+
+	}
+
+	@Test
+	public void statusStackTraceIsLogged() {
+		FlatReport flatReport = new FlatReport(); 
+		EventProviderManager manager = EventProviderManager.getInstance();
+		String id = "org.eclipse.rcptt.sherlock.core.log.provider";
+		manager.register(flatReport, id);
+		try {
+			loggingMethod();
+		} finally {
+			manager.unregister(flatReport, id);
+		}
+		
+		ProcessStatus status = (ProcessStatus) flatReport.node.getEvents().get(0).getData();
+		for (EclStackTraceEntry frame: status.getException().getStackTrace()) {
+			if (frame.getMethodName().equals("loggingMethod"))
+				return;
+		}
+		Assert.fail(status.getException().getStackTrace().toString());
+		
+	}
+
+	private void loggingMethod() {
+		org.eclipse.rcptt.sherlock.core.SherlockCore.log(new Exception());
+	}
+
+}
diff --git a/runtime/watson/org.eclipse.rcptt.watson.jface/META-INF/MANIFEST.MF b/runtime/watson/org.eclipse.rcptt.watson.jface/META-INF/MANIFEST.MF
index b1d8dc7..9c339e0 100644
--- a/runtime/watson/org.eclipse.rcptt.watson.jface/META-INF/MANIFEST.MF
+++ b/runtime/watson/org.eclipse.rcptt.watson.jface/META-INF/MANIFEST.MF
@@ -7,6 +7,7 @@
 Bundle-Vendor: Eclipse RCP Testing Tool Project
 Require-Bundle: org.eclipse.core.runtime,
  org.eclipse.jface,
- org.eclipse.rcptt.watson.core;bundle-version="[2.5.0,3.0.0)"
+ org.eclipse.rcptt.watson.core;bundle-version="[2.5.0,3.0.0)",
+ org.eclipse.rcptt.ecl.core;bundle-version="2.5.0"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Bundle-ActivationPolicy: lazy
diff --git a/runtime/watson/org.eclipse.rcptt.watson.jface/src/org/eclipse/rcptt/sherlock/jface/JfacePolicyEventProvider.java b/runtime/watson/org.eclipse.rcptt.watson.jface/src/org/eclipse/rcptt/sherlock/jface/JfacePolicyEventProvider.java
index 5898998..e65d2eb 100644
--- a/runtime/watson/org.eclipse.rcptt.watson.jface/src/org/eclipse/rcptt/sherlock/jface/JfacePolicyEventProvider.java
+++ b/runtime/watson/org.eclipse.rcptt.watson.jface/src/org/eclipse/rcptt/sherlock/jface/JfacePolicyEventProvider.java
@@ -15,8 +15,6 @@
 import org.eclipse.jface.util.ILogger;
 import org.eclipse.jface.util.Policy;
 import org.eclipse.rcptt.sherlock.core.INodeBuilder;
-import org.eclipse.rcptt.sherlock.core.SherlockCore;
-import org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus;
 import org.eclipse.rcptt.sherlock.core.model.sherlock.report.Event;
 import org.eclipse.rcptt.sherlock.core.model.sherlock.report.ReportFactory;
 import org.eclipse.rcptt.sherlock.core.reporting.AbstractEventProvider;
@@ -31,7 +29,7 @@
 	private static ILogger fJfaceNativeLogger;
 
 	public JfacePolicyEventProvider() {
-		fJFaceLogger = new SherlockJfaceLogger(this);
+		fJFaceLogger = new SherlockJfaceLogger();
 	}
 
 	public void storeSnapshot(INodeBuilder builder, String type) {
@@ -41,9 +39,7 @@
 		IReportBuilder[] builders = getListeners();
 		for (IReportBuilder builder : builders) {
 			Event event = ReportFactory.eINSTANCE.createEvent();
-			EclipseStatus data = SherlockCore.convert(status);
-			event.setData(data);
-			data.setThreadName(Thread.currentThread().getName());
+			event.setData(org.eclipse.rcptt.ecl.core.util.ProcessStatuses.adapt(status));
 			builder.getCurrent().createEvent(event);
 		}
 	}
@@ -60,16 +56,10 @@
 	}
 
 	private class SherlockJfaceLogger implements ILogger {
-		private final JfacePolicyEventProvider fSherlockEventProvider;
-
-		public SherlockJfaceLogger(
-				JfacePolicyEventProvider sherlockEventProvider) {
-			fSherlockEventProvider = sherlockEventProvider;
-		}
 
 		public void log(IStatus status) {
 			EventLogEventProvider.handledStatus = status;
-			fSherlockEventProvider.logging(status, "org.eclipse.jface");
+			logging(status, "org.eclipse.jface");
 			fJfaceNativeLogger.log(status);
 		}
 	};
diff --git a/tests/org.eclipse.rcptt.core.tests/.project b/tests/org.eclipse.rcptt.core.tests/.project
index 68007ab..29db0d1 100644
--- a/tests/org.eclipse.rcptt.core.tests/.project
+++ b/tests/org.eclipse.rcptt.core.tests/.project
@@ -25,4 +25,15 @@
 		<nature>org.eclipse.pde.PluginNature</nature>
 		<nature>org.eclipse.jdt.core.javanature</nature>
 	</natures>
+	<filteredResources>
+		<filter>
+			<id>1560501334813</id>
+			<name></name>
+			<type>10</type>
+			<matcher>
+				<id>org.eclipse.ui.ide.multiFilter</id>
+				<arguments>1.0-name-matches-true-false-target</arguments>
+			</matcher>
+		</filter>
+	</filteredResources>
 </projectDescription>
diff --git a/tests/org.eclipse.rcptt.core.tests/src/org/eclipse/rcptt/core/tests/builder/BuilderIndexerTests.java b/tests/org.eclipse.rcptt.core.tests/src/org/eclipse/rcptt/core/tests/builder/BuilderIndexerTests.java
deleted file mode 100644
index 2d38256..0000000
--- a/tests/org.eclipse.rcptt.core.tests/src/org/eclipse/rcptt/core/tests/builder/BuilderIndexerTests.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2015 Xored Software Inc and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Xored Software Inc - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.rcptt.core.tests.builder;
-
-import java.io.BufferedInputStream;
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.OutputStream;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-
-import org.eclipse.core.resources.IncrementalProjectBuilder;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.NullProgressMonitor;
-
-import org.eclipse.rcptt.core.internal.builder.Q7Builder;
-import org.eclipse.rcptt.core.model.IQ7Project;
-import org.eclipse.rcptt.core.model.ITestCase;
-import org.eclipse.rcptt.core.tests.CoreTestsPlugin;
-import org.eclipse.rcptt.core.tests.model.AbstractModelTestbase;
-import org.eclipse.rcptt.internal.core.model.ModelManager;
-import org.eclipse.rcptt.internal.core.model.index.Index;
-import org.eclipse.rcptt.internal.core.model.index.ProjectIndexerManager;
-import org.eclipse.rcptt.util.FileUtil;
-
-public class BuilderIndexerTests extends AbstractModelTestbase {
-	private static final String PRJ_NAME = "ModelMembers_builder";
-
-	public BuilderIndexerTests(String name) {
-		super(CoreTestsPlugin.PLUGIN_ID, name);
-	}
-
-	public static Test suite() {
-		return new Suite(BuilderIndexerTests.class);
-	}
-
-	public void setUpSuite() throws Exception {
-		super.setUpSuite();
-		setUpQ7ProjectTo(PRJ_NAME, "ModelMembers");
-	}
-
-	public void tearDownSuite() throws Exception {
-		deleteProject(PRJ_NAME);
-		super.tearDownSuite();
-	}
-
-	public void testBuilderAndIndexer() throws Exception {
-		final IQ7Project prj = getQ7Project(PRJ_NAME);
-		ITestCase testCase = prj.getRootFolder().createTestCase("mytestcase",
-				true, new NullProgressMonitor());
-		waitUntilIndexesReady();
-		waitForAutoBuild();
-
-		File file = testCase.getResource().getLocation().toFile();
-
-		String content = new String(
-				FileUtil.getStreamContent(new BufferedInputStream(
-						new FileInputStream(file))));
-		content = content.replace("Element-Name: ", "Element-Name: MyName");
-		OutputStream fout = new BufferedOutputStream(new FileOutputStream(file));
-		fout.write(content.getBytes());
-		fout.close();
-		testCase.close();
-		try {
-			Thread builderThread = new Thread(new Runnable() {
-				public void run() {
-					try {
-						Q7Builder.debug_sleep = true;
-						prj.getProject().build(
-								IncrementalProjectBuilder.FULL_BUILD,
-								new NullProgressMonitor());
-					} catch (CoreException e) {
-						e.printStackTrace();
-					}
-				}
-			});
-			builderThread.start();
-			builderThread.join(1000); // To be sure it is already running
-			Index index = ModelManager.getModelManager().getIndexManager()
-					.getIndex(prj.getPath());
-			index.dispose();
-			ProjectIndexerManager.indexProject(prj);
-			builderThread.join(1000);
-			// Indexer should lock already
-			Q7Builder.debug_sleep = false;
-			builderThread.join(1000);
-			// Check there is at least 2 jobs
-			int jobsCount = ModelManager.getModelManager().getIndexManager()
-					.awaitingJobsCount();
-			builderThread.interrupt();
-			TestCase.assertEquals(0, jobsCount);
-		} finally {
-			Q7Builder.debug_sleep = false;
-		}
-	}
-}
diff --git a/watson/org.eclipse.rcptt.watson.core/META-INF/MANIFEST.MF b/watson/org.eclipse.rcptt.watson.core/META-INF/MANIFEST.MF
index 2bd846a..8c5d915 100644
--- a/watson/org.eclipse.rcptt.watson.core/META-INF/MANIFEST.MF
+++ b/watson/org.eclipse.rcptt.watson.core/META-INF/MANIFEST.MF
@@ -2,6 +2,7 @@
 Bundle-ManifestVersion: 2
 Bundle-Name: %pluginName
 Bundle-SymbolicName: org.eclipse.rcptt.watson.core;singleton:=true
+Automatic-Module-Name: org.eclipse.rcptt.watson.core
 Bundle-Version: 2.5.0.qualifier
 Bundle-ClassPath: .
 Bundle-Vendor: %providerName
diff --git a/watson/org.eclipse.rcptt.watson.core/model/sherlock.ecore b/watson/org.eclipse.rcptt.watson.core/model/sherlock.ecore
index 821e4b0..80b5301 100644
--- a/watson/org.eclipse.rcptt.watson.core/model/sherlock.ecore
+++ b/watson/org.eclipse.rcptt.watson.core/model/sherlock.ecore
@@ -1,8 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<ecore:EPackage xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="sherlock"
-    nsURI="http://eclipse.org/rcptt/sherlock/core" nsPrefix="sh">
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="sherlock" nsURI="http://eclipse.org/rcptt/sherlock/core" nsPrefix="sh">
   <eClassifiers xsi:type="ecore:EClass" name="SystemInfo">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="osName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="osVersion" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
@@ -62,34 +60,6 @@
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="version" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="provider" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="JavaException">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="className" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="cause" eType="#//JavaException"
-        containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="message" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="stackTrace" upperBound="-1"
-        eType="#//JavaStackTraceEntry" containment="true"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="JavaStackTraceEntry">
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="fileName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="lineNumber" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="className" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="methodName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="nativeMethod" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="EclipseStatus">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1"
-        eType="#//EclipseStatus" containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="code" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="message" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="plugin" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="severity" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
-    <eStructuralFeatures xsi:type="ecore:EReference" name="exception" eType="#//JavaException"
-        containment="true"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="featureGuess" upperBound="-1"
-        eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-    <eStructuralFeatures xsi:type="ecore:EAttribute" name="threadName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
-  </eClassifiers>
   <eClassifiers xsi:type="ecore:EClass" name="EclipsePreference">
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
     <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
diff --git a/watson/org.eclipse.rcptt.watson.core/model/sherlock.genmodel b/watson/org.eclipse.rcptt.watson.core/model/sherlock.genmodel
index 4f2a705..c3bfb7c 100644
--- a/watson/org.eclipse.rcptt.watson.core/model/sherlock.genmodel
+++ b/watson/org.eclipse.rcptt.watson.core/model/sherlock.genmodel
@@ -1,10 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<genmodel:GenModel xmi:version="2.0"
-    xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
-    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.rcptt.watson.core/src-gen"
-    editDirectory="/org.eclipse.rcptt.sherlock.core.edit/src-gen" editorDirectory="/org.eclipse.rcptt.sherlock.core.editor/src-gen"
-    modelPluginID="org.eclipse.rcptt.watson.core" modelName="Sherlock" importerID="org.eclipse.emf.importer.ecore"
-    complianceLevel="6.0" copyrightFields="false" runtimeVersion="2.5">
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+    xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.rcptt.watson.core/src-gen" editDirectory="/org.eclipse.rcptt.sherlock.core.edit/src-gen"
+    editorDirectory="/org.eclipse.rcptt.sherlock.core.editor/src-gen" modelPluginID="org.eclipse.rcptt.watson.core"
+    modelName="Sherlock" importerID="org.eclipse.emf.importer.ecore" complianceLevel="6.0"
+    copyrightFields="false" runtimeVersion="2.5">
   <foreignModel>sherlock.ecore</foreignModel>
   <genPackages prefix="Sherlock" basePackage="org.eclipse.rcptt.sherlock.core.model"
       disposableProviderFactory="true" ecorePackage="sherlock.ecore#/">
@@ -58,29 +57,6 @@
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sherlock.ecore#//EclipseFeature/version"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sherlock.ecore#//EclipseFeature/provider"/>
     </genClasses>
-    <genClasses ecoreClass="sherlock.ecore#//JavaException">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sherlock.ecore#//JavaException/className"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference sherlock.ecore#//JavaException/cause"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sherlock.ecore#//JavaException/message"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference sherlock.ecore#//JavaException/stackTrace"/>
-    </genClasses>
-    <genClasses ecoreClass="sherlock.ecore#//JavaStackTraceEntry">
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sherlock.ecore#//JavaStackTraceEntry/fileName"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sherlock.ecore#//JavaStackTraceEntry/lineNumber"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sherlock.ecore#//JavaStackTraceEntry/className"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sherlock.ecore#//JavaStackTraceEntry/methodName"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sherlock.ecore#//JavaStackTraceEntry/nativeMethod"/>
-    </genClasses>
-    <genClasses ecoreClass="sherlock.ecore#//EclipseStatus">
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference sherlock.ecore#//EclipseStatus/children"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sherlock.ecore#//EclipseStatus/code"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sherlock.ecore#//EclipseStatus/message"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sherlock.ecore#//EclipseStatus/plugin"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sherlock.ecore#//EclipseStatus/severity"/>
-      <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference sherlock.ecore#//EclipseStatus/exception"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sherlock.ecore#//EclipseStatus/featureGuess"/>
-      <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sherlock.ecore#//EclipseStatus/threadName"/>
-    </genClasses>
     <genClasses ecoreClass="sherlock.ecore#//EclipsePreference">
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sherlock.ecore#//EclipsePreference/name"/>
       <genFeatures createChild="false" ecoreFeature="ecore:EAttribute sherlock.ecore#//EclipsePreference/value"/>
diff --git a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/EclipseFeature.java b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/EclipseFeature.java
index 1fd3dcd..76f264d 100644
--- a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/EclipseFeature.java
+++ b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/EclipseFeature.java
@@ -19,13 +19,13 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseFeature#getId <em>Id</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseFeature#getName <em>Name</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseFeature#getVersion <em>Version</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseFeature#getProvider <em>Provider</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage#getEclipseFeature()
  * @model
diff --git a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/EclipseInfo.java b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/EclipseInfo.java
index 46350eb..4d3c064 100644
--- a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/EclipseInfo.java
+++ b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/EclipseInfo.java
@@ -21,6 +21,7 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseInfo#getWorkspaceLocation <em>Workspace Location</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseInfo#getProductId <em>Product Id</em>}</li>
@@ -35,7 +36,6 @@
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseInfo#getWorkspacePartitionFreeDiskspace <em>Workspace Partition Free Diskspace</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseInfo#getPreferences <em>Preferences</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage#getEclipseInfo()
  * @model
diff --git a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/EclipsePlugin.java b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/EclipsePlugin.java
index 31aaa3f..3994bfb 100644
--- a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/EclipsePlugin.java
+++ b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/EclipsePlugin.java
@@ -19,13 +19,13 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipsePlugin#getId <em>Id</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipsePlugin#getName <em>Name</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipsePlugin#getVersion <em>Version</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipsePlugin#getProvider <em>Provider</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage#getEclipsePlugin()
  * @model
diff --git a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/EclipsePreference.java b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/EclipsePreference.java
index 3eea69a..9ddfd7b 100644
--- a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/EclipsePreference.java
+++ b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/EclipsePreference.java
@@ -19,12 +19,12 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipsePreference#getName <em>Name</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipsePreference#getValue <em>Value</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipsePreference#getPath <em>Path</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage#getEclipsePreference()
  * @model
diff --git a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/EclipseStatus.java b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/EclipseStatus.java
deleted file mode 100644
index 58fa30c..0000000
--- a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/EclipseStatus.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 Xored Software Inc and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Xored Software Inc - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.rcptt.sherlock.core.model.sherlock;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Eclipse Status</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus#getChildren <em>Children</em>}</li>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus#getCode <em>Code</em>}</li>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus#getMessage <em>Message</em>}</li>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus#getPlugin <em>Plugin</em>}</li>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus#getSeverity <em>Severity</em>}</li>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus#getException <em>Exception</em>}</li>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus#getFeatureGuess <em>Feature Guess</em>}</li>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus#getThreadName <em>Thread Name</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage#getEclipseStatus()
- * @model
- * @generated
- */
-public interface EclipseStatus extends EObject {
-	/**
-	 * Returns the value of the '<em><b>Children</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Children</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Children</em>' containment reference list.
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage#getEclipseStatus_Children()
-	 * @model containment="true"
-	 * @generated
-	 */
-	EList<EclipseStatus> getChildren();
-
-	/**
-	 * Returns the value of the '<em><b>Code</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Code</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Code</em>' attribute.
-	 * @see #setCode(int)
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage#getEclipseStatus_Code()
-	 * @model
-	 * @generated
-	 */
-	int getCode();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus#getCode <em>Code</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Code</em>' attribute.
-	 * @see #getCode()
-	 * @generated
-	 */
-	void setCode(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Message</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Message</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Message</em>' attribute.
-	 * @see #setMessage(String)
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage#getEclipseStatus_Message()
-	 * @model
-	 * @generated
-	 */
-	String getMessage();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus#getMessage <em>Message</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Message</em>' attribute.
-	 * @see #getMessage()
-	 * @generated
-	 */
-	void setMessage(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Plugin</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Plugin</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Plugin</em>' attribute.
-	 * @see #setPlugin(String)
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage#getEclipseStatus_Plugin()
-	 * @model
-	 * @generated
-	 */
-	String getPlugin();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus#getPlugin <em>Plugin</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Plugin</em>' attribute.
-	 * @see #getPlugin()
-	 * @generated
-	 */
-	void setPlugin(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Severity</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Severity</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Severity</em>' attribute.
-	 * @see #setSeverity(int)
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage#getEclipseStatus_Severity()
-	 * @model
-	 * @generated
-	 */
-	int getSeverity();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus#getSeverity <em>Severity</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Severity</em>' attribute.
-	 * @see #getSeverity()
-	 * @generated
-	 */
-	void setSeverity(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Exception</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Exception</em>' containment reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Exception</em>' containment reference.
-	 * @see #setException(JavaException)
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage#getEclipseStatus_Exception()
-	 * @model containment="true"
-	 * @generated
-	 */
-	JavaException getException();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus#getException <em>Exception</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Exception</em>' containment reference.
-	 * @see #getException()
-	 * @generated
-	 */
-	void setException(JavaException value);
-
-	/**
-	 * Returns the value of the '<em><b>Feature Guess</b></em>' attribute list.
-	 * The list contents are of type {@link java.lang.String}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Feature Guess</em>' attribute list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Feature Guess</em>' attribute list.
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage#getEclipseStatus_FeatureGuess()
-	 * @model
-	 * @generated
-	 */
-	EList<String> getFeatureGuess();
-
-	/**
-	 * Returns the value of the '<em><b>Thread Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Thread Name</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Thread Name</em>' attribute.
-	 * @see #setThreadName(String)
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage#getEclipseStatus_ThreadName()
-	 * @model
-	 * @generated
-	 */
-	String getThreadName();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus#getThreadName <em>Thread Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Thread Name</em>' attribute.
-	 * @see #getThreadName()
-	 * @generated
-	 */
-	void setThreadName(String value);
-
-} // EclipseStatus
diff --git a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/JavaException.java b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/JavaException.java
deleted file mode 100644
index 9f7650b..0000000
--- a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/JavaException.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 Xored Software Inc and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Xored Software Inc - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.rcptt.sherlock.core.model.sherlock;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Java Exception</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaException#getClassName <em>Class Name</em>}</li>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaException#getCause <em>Cause</em>}</li>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaException#getMessage <em>Message</em>}</li>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaException#getStackTrace <em>Stack Trace</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage#getJavaException()
- * @model
- * @generated
- */
-public interface JavaException extends EObject {
-	/**
-	 * Returns the value of the '<em><b>Class Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Class Name</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Class Name</em>' attribute.
-	 * @see #setClassName(String)
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage#getJavaException_ClassName()
-	 * @model
-	 * @generated
-	 */
-	String getClassName();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaException#getClassName <em>Class Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Class Name</em>' attribute.
-	 * @see #getClassName()
-	 * @generated
-	 */
-	void setClassName(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Cause</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Cause</em>' containment reference isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Cause</em>' containment reference.
-	 * @see #setCause(JavaException)
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage#getJavaException_Cause()
-	 * @model containment="true"
-	 * @generated
-	 */
-	JavaException getCause();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaException#getCause <em>Cause</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Cause</em>' containment reference.
-	 * @see #getCause()
-	 * @generated
-	 */
-	void setCause(JavaException value);
-
-	/**
-	 * Returns the value of the '<em><b>Message</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Message</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Message</em>' attribute.
-	 * @see #setMessage(String)
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage#getJavaException_Message()
-	 * @model
-	 * @generated
-	 */
-	String getMessage();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaException#getMessage <em>Message</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Message</em>' attribute.
-	 * @see #getMessage()
-	 * @generated
-	 */
-	void setMessage(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Stack Trace</b></em>' containment reference list.
-	 * The list contents are of type {@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry}.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Stack Trace</em>' containment reference list isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Stack Trace</em>' containment reference list.
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage#getJavaException_StackTrace()
-	 * @model containment="true"
-	 * @generated
-	 */
-	EList<JavaStackTraceEntry> getStackTrace();
-
-} // JavaException
diff --git a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/JavaInfo.java b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/JavaInfo.java
index 096cbfc..0fcb068 100644
--- a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/JavaInfo.java
+++ b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/JavaInfo.java
@@ -21,6 +21,7 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaInfo#getRuntimeName <em>Runtime Name</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaInfo#getRuntimeVersion <em>Runtime Version</em>}</li>
@@ -30,7 +31,6 @@
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaInfo#getArgs <em>Args</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaInfo#getProperties <em>Properties</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage#getJavaInfo()
  * @model
diff --git a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/JavaProperty.java b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/JavaProperty.java
index 6cc4ea8..35ecd67 100644
--- a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/JavaProperty.java
+++ b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/JavaProperty.java
@@ -19,11 +19,11 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaProperty#getName <em>Name</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaProperty#getValue <em>Value</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage#getJavaProperty()
  * @model
diff --git a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/JavaStackTraceEntry.java b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/JavaStackTraceEntry.java
deleted file mode 100644
index 0d3d59f..0000000
--- a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/JavaStackTraceEntry.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 Xored Software Inc and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Xored Software Inc - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.rcptt.sherlock.core.model.sherlock;
-
-import org.eclipse.emf.ecore.EObject;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>Java Stack Trace Entry</b></em>'.
- * <!-- end-user-doc -->
- *
- * <p>
- * The following features are supported:
- * <ul>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry#getFileName <em>File Name</em>}</li>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry#getLineNumber <em>Line Number</em>}</li>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry#getClassName <em>Class Name</em>}</li>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry#getMethodName <em>Method Name</em>}</li>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry#isNativeMethod <em>Native Method</em>}</li>
- * </ul>
- * </p>
- *
- * @see org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage#getJavaStackTraceEntry()
- * @model
- * @generated
- */
-public interface JavaStackTraceEntry extends EObject {
-	/**
-	 * Returns the value of the '<em><b>File Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>File Name</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>File Name</em>' attribute.
-	 * @see #setFileName(String)
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage#getJavaStackTraceEntry_FileName()
-	 * @model
-	 * @generated
-	 */
-	String getFileName();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry#getFileName <em>File Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>File Name</em>' attribute.
-	 * @see #getFileName()
-	 * @generated
-	 */
-	void setFileName(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Line Number</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Line Number</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Line Number</em>' attribute.
-	 * @see #setLineNumber(int)
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage#getJavaStackTraceEntry_LineNumber()
-	 * @model
-	 * @generated
-	 */
-	int getLineNumber();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry#getLineNumber <em>Line Number</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Line Number</em>' attribute.
-	 * @see #getLineNumber()
-	 * @generated
-	 */
-	void setLineNumber(int value);
-
-	/**
-	 * Returns the value of the '<em><b>Class Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Class Name</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Class Name</em>' attribute.
-	 * @see #setClassName(String)
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage#getJavaStackTraceEntry_ClassName()
-	 * @model
-	 * @generated
-	 */
-	String getClassName();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry#getClassName <em>Class Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Class Name</em>' attribute.
-	 * @see #getClassName()
-	 * @generated
-	 */
-	void setClassName(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Method Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Method Name</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Method Name</em>' attribute.
-	 * @see #setMethodName(String)
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage#getJavaStackTraceEntry_MethodName()
-	 * @model
-	 * @generated
-	 */
-	String getMethodName();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry#getMethodName <em>Method Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Method Name</em>' attribute.
-	 * @see #getMethodName()
-	 * @generated
-	 */
-	void setMethodName(String value);
-
-	/**
-	 * Returns the value of the '<em><b>Native Method</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <p>
-	 * If the meaning of the '<em>Native Method</em>' attribute isn't clear,
-	 * there really should be more of a description here...
-	 * </p>
-	 * <!-- end-user-doc -->
-	 * @return the value of the '<em>Native Method</em>' attribute.
-	 * @see #setNativeMethod(boolean)
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage#getJavaStackTraceEntry_NativeMethod()
-	 * @model
-	 * @generated
-	 */
-	boolean isNativeMethod();
-
-	/**
-	 * Sets the value of the '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry#isNativeMethod <em>Native Method</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @param value the new value of the '<em>Native Method</em>' attribute.
-	 * @see #isNativeMethod()
-	 * @generated
-	 */
-	void setNativeMethod(boolean value);
-
-} // JavaStackTraceEntry
diff --git a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/SherlockFactory.java b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/SherlockFactory.java
index 7e94090..21b8d5e 100644
--- a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/SherlockFactory.java
+++ b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/SherlockFactory.java
@@ -93,33 +93,6 @@
 	EclipseFeature createEclipseFeature();
 
 	/**
-	 * Returns a new object of class '<em>Java Exception</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Java Exception</em>'.
-	 * @generated
-	 */
-	JavaException createJavaException();
-
-	/**
-	 * Returns a new object of class '<em>Java Stack Trace Entry</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Java Stack Trace Entry</em>'.
-	 * @generated
-	 */
-	JavaStackTraceEntry createJavaStackTraceEntry();
-
-	/**
-	 * Returns a new object of class '<em>Eclipse Status</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Eclipse Status</em>'.
-	 * @generated
-	 */
-	EclipseStatus createEclipseStatus();
-
-	/**
 	 * Returns a new object of class '<em>Eclipse Preference</em>'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
diff --git a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/SherlockPackage.java b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/SherlockPackage.java
index 74ad4d9..a16614f 100644
--- a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/SherlockPackage.java
+++ b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/SherlockPackage.java
@@ -521,216 +521,6 @@
 	int ECLIPSE_FEATURE_FEATURE_COUNT = 4;
 
 	/**
-	 * The meta object id for the '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.JavaExceptionImpl <em>Java Exception</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.impl.JavaExceptionImpl
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.impl.SherlockPackageImpl#getJavaException()
-	 * @generated
-	 */
-	int JAVA_EXCEPTION = 7;
-
-	/**
-	 * The feature id for the '<em><b>Class Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_EXCEPTION__CLASS_NAME = 0;
-
-	/**
-	 * The feature id for the '<em><b>Cause</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_EXCEPTION__CAUSE = 1;
-
-	/**
-	 * The feature id for the '<em><b>Message</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_EXCEPTION__MESSAGE = 2;
-
-	/**
-	 * The feature id for the '<em><b>Stack Trace</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_EXCEPTION__STACK_TRACE = 3;
-
-	/**
-	 * The number of structural features of the '<em>Java Exception</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_EXCEPTION_FEATURE_COUNT = 4;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.JavaStackTraceEntryImpl <em>Java Stack Trace Entry</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.impl.JavaStackTraceEntryImpl
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.impl.SherlockPackageImpl#getJavaStackTraceEntry()
-	 * @generated
-	 */
-	int JAVA_STACK_TRACE_ENTRY = 8;
-
-	/**
-	 * The feature id for the '<em><b>File Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_STACK_TRACE_ENTRY__FILE_NAME = 0;
-
-	/**
-	 * The feature id for the '<em><b>Line Number</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_STACK_TRACE_ENTRY__LINE_NUMBER = 1;
-
-	/**
-	 * The feature id for the '<em><b>Class Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_STACK_TRACE_ENTRY__CLASS_NAME = 2;
-
-	/**
-	 * The feature id for the '<em><b>Method Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_STACK_TRACE_ENTRY__METHOD_NAME = 3;
-
-	/**
-	 * The feature id for the '<em><b>Native Method</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_STACK_TRACE_ENTRY__NATIVE_METHOD = 4;
-
-	/**
-	 * The number of structural features of the '<em>Java Stack Trace Entry</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int JAVA_STACK_TRACE_ENTRY_FEATURE_COUNT = 5;
-
-	/**
-	 * The meta object id for the '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.EclipseStatusImpl <em>Eclipse Status</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.impl.EclipseStatusImpl
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.impl.SherlockPackageImpl#getEclipseStatus()
-	 * @generated
-	 */
-	int ECLIPSE_STATUS = 9;
-
-	/**
-	 * The feature id for the '<em><b>Children</b></em>' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ECLIPSE_STATUS__CHILDREN = 0;
-
-	/**
-	 * The feature id for the '<em><b>Code</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ECLIPSE_STATUS__CODE = 1;
-
-	/**
-	 * The feature id for the '<em><b>Message</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ECLIPSE_STATUS__MESSAGE = 2;
-
-	/**
-	 * The feature id for the '<em><b>Plugin</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ECLIPSE_STATUS__PLUGIN = 3;
-
-	/**
-	 * The feature id for the '<em><b>Severity</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ECLIPSE_STATUS__SEVERITY = 4;
-
-	/**
-	 * The feature id for the '<em><b>Exception</b></em>' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ECLIPSE_STATUS__EXCEPTION = 5;
-
-	/**
-	 * The feature id for the '<em><b>Feature Guess</b></em>' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ECLIPSE_STATUS__FEATURE_GUESS = 6;
-
-	/**
-	 * The feature id for the '<em><b>Thread Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ECLIPSE_STATUS__THREAD_NAME = 7;
-
-	/**
-	 * The number of structural features of the '<em>Eclipse Status</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int ECLIPSE_STATUS_FEATURE_COUNT = 8;
-
-	/**
 	 * The meta object id for the '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.EclipsePreferenceImpl <em>Eclipse Preference</em>}' class.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -738,7 +528,7 @@
 	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.impl.SherlockPackageImpl#getEclipsePreference()
 	 * @generated
 	 */
-	int ECLIPSE_PREFERENCE = 10;
+	int ECLIPSE_PREFERENCE = 7;
 
 	/**
 	 * The feature id for the '<em><b>Name</b></em>' attribute.
@@ -1244,223 +1034,6 @@
 	EAttribute getEclipseFeature_Provider();
 
 	/**
-	 * Returns the meta object for class '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaException <em>Java Exception</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Java Exception</em>'.
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.JavaException
-	 * @generated
-	 */
-	EClass getJavaException();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaException#getClassName <em>Class Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Class Name</em>'.
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.JavaException#getClassName()
-	 * @see #getJavaException()
-	 * @generated
-	 */
-	EAttribute getJavaException_ClassName();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaException#getCause <em>Cause</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Cause</em>'.
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.JavaException#getCause()
-	 * @see #getJavaException()
-	 * @generated
-	 */
-	EReference getJavaException_Cause();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaException#getMessage <em>Message</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Message</em>'.
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.JavaException#getMessage()
-	 * @see #getJavaException()
-	 * @generated
-	 */
-	EAttribute getJavaException_Message();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaException#getStackTrace <em>Stack Trace</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Stack Trace</em>'.
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.JavaException#getStackTrace()
-	 * @see #getJavaException()
-	 * @generated
-	 */
-	EReference getJavaException_StackTrace();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry <em>Java Stack Trace Entry</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Java Stack Trace Entry</em>'.
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry
-	 * @generated
-	 */
-	EClass getJavaStackTraceEntry();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry#getFileName <em>File Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>File Name</em>'.
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry#getFileName()
-	 * @see #getJavaStackTraceEntry()
-	 * @generated
-	 */
-	EAttribute getJavaStackTraceEntry_FileName();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry#getLineNumber <em>Line Number</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Line Number</em>'.
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry#getLineNumber()
-	 * @see #getJavaStackTraceEntry()
-	 * @generated
-	 */
-	EAttribute getJavaStackTraceEntry_LineNumber();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry#getClassName <em>Class Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Class Name</em>'.
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry#getClassName()
-	 * @see #getJavaStackTraceEntry()
-	 * @generated
-	 */
-	EAttribute getJavaStackTraceEntry_ClassName();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry#getMethodName <em>Method Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Method Name</em>'.
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry#getMethodName()
-	 * @see #getJavaStackTraceEntry()
-	 * @generated
-	 */
-	EAttribute getJavaStackTraceEntry_MethodName();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry#isNativeMethod <em>Native Method</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Native Method</em>'.
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry#isNativeMethod()
-	 * @see #getJavaStackTraceEntry()
-	 * @generated
-	 */
-	EAttribute getJavaStackTraceEntry_NativeMethod();
-
-	/**
-	 * Returns the meta object for class '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus <em>Eclipse Status</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Eclipse Status</em>'.
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus
-	 * @generated
-	 */
-	EClass getEclipseStatus();
-
-	/**
-	 * Returns the meta object for the containment reference list '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus#getChildren <em>Children</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference list '<em>Children</em>'.
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus#getChildren()
-	 * @see #getEclipseStatus()
-	 * @generated
-	 */
-	EReference getEclipseStatus_Children();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus#getCode <em>Code</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Code</em>'.
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus#getCode()
-	 * @see #getEclipseStatus()
-	 * @generated
-	 */
-	EAttribute getEclipseStatus_Code();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus#getMessage <em>Message</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Message</em>'.
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus#getMessage()
-	 * @see #getEclipseStatus()
-	 * @generated
-	 */
-	EAttribute getEclipseStatus_Message();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus#getPlugin <em>Plugin</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Plugin</em>'.
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus#getPlugin()
-	 * @see #getEclipseStatus()
-	 * @generated
-	 */
-	EAttribute getEclipseStatus_Plugin();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus#getSeverity <em>Severity</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Severity</em>'.
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus#getSeverity()
-	 * @see #getEclipseStatus()
-	 * @generated
-	 */
-	EAttribute getEclipseStatus_Severity();
-
-	/**
-	 * Returns the meta object for the containment reference '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus#getException <em>Exception</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the containment reference '<em>Exception</em>'.
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus#getException()
-	 * @see #getEclipseStatus()
-	 * @generated
-	 */
-	EReference getEclipseStatus_Exception();
-
-	/**
-	 * Returns the meta object for the attribute list '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus#getFeatureGuess <em>Feature Guess</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute list '<em>Feature Guess</em>'.
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus#getFeatureGuess()
-	 * @see #getEclipseStatus()
-	 * @generated
-	 */
-	EAttribute getEclipseStatus_FeatureGuess();
-
-	/**
-	 * Returns the meta object for the attribute '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus#getThreadName <em>Thread Name</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the attribute '<em>Thread Name</em>'.
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus#getThreadName()
-	 * @see #getEclipseStatus()
-	 * @generated
-	 */
-	EAttribute getEclipseStatus_ThreadName();
-
-	/**
 	 * Returns the meta object for class '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipsePreference <em>Eclipse Preference</em>}'.
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1884,172 +1457,6 @@
 		EAttribute ECLIPSE_FEATURE__PROVIDER = eINSTANCE.getEclipseFeature_Provider();
 
 		/**
-		 * The meta object literal for the '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.JavaExceptionImpl <em>Java Exception</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.impl.JavaExceptionImpl
-		 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.impl.SherlockPackageImpl#getJavaException()
-		 * @generated
-		 */
-		EClass JAVA_EXCEPTION = eINSTANCE.getJavaException();
-
-		/**
-		 * The meta object literal for the '<em><b>Class Name</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute JAVA_EXCEPTION__CLASS_NAME = eINSTANCE.getJavaException_ClassName();
-
-		/**
-		 * The meta object literal for the '<em><b>Cause</b></em>' containment reference feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference JAVA_EXCEPTION__CAUSE = eINSTANCE.getJavaException_Cause();
-
-		/**
-		 * The meta object literal for the '<em><b>Message</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute JAVA_EXCEPTION__MESSAGE = eINSTANCE.getJavaException_Message();
-
-		/**
-		 * The meta object literal for the '<em><b>Stack Trace</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference JAVA_EXCEPTION__STACK_TRACE = eINSTANCE.getJavaException_StackTrace();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.JavaStackTraceEntryImpl <em>Java Stack Trace Entry</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.impl.JavaStackTraceEntryImpl
-		 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.impl.SherlockPackageImpl#getJavaStackTraceEntry()
-		 * @generated
-		 */
-		EClass JAVA_STACK_TRACE_ENTRY = eINSTANCE.getJavaStackTraceEntry();
-
-		/**
-		 * The meta object literal for the '<em><b>File Name</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute JAVA_STACK_TRACE_ENTRY__FILE_NAME = eINSTANCE.getJavaStackTraceEntry_FileName();
-
-		/**
-		 * The meta object literal for the '<em><b>Line Number</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute JAVA_STACK_TRACE_ENTRY__LINE_NUMBER = eINSTANCE.getJavaStackTraceEntry_LineNumber();
-
-		/**
-		 * The meta object literal for the '<em><b>Class Name</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute JAVA_STACK_TRACE_ENTRY__CLASS_NAME = eINSTANCE.getJavaStackTraceEntry_ClassName();
-
-		/**
-		 * The meta object literal for the '<em><b>Method Name</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute JAVA_STACK_TRACE_ENTRY__METHOD_NAME = eINSTANCE.getJavaStackTraceEntry_MethodName();
-
-		/**
-		 * The meta object literal for the '<em><b>Native Method</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute JAVA_STACK_TRACE_ENTRY__NATIVE_METHOD = eINSTANCE.getJavaStackTraceEntry_NativeMethod();
-
-		/**
-		 * The meta object literal for the '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.EclipseStatusImpl <em>Eclipse Status</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.impl.EclipseStatusImpl
-		 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.impl.SherlockPackageImpl#getEclipseStatus()
-		 * @generated
-		 */
-		EClass ECLIPSE_STATUS = eINSTANCE.getEclipseStatus();
-
-		/**
-		 * The meta object literal for the '<em><b>Children</b></em>' containment reference list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference ECLIPSE_STATUS__CHILDREN = eINSTANCE.getEclipseStatus_Children();
-
-		/**
-		 * The meta object literal for the '<em><b>Code</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute ECLIPSE_STATUS__CODE = eINSTANCE.getEclipseStatus_Code();
-
-		/**
-		 * The meta object literal for the '<em><b>Message</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute ECLIPSE_STATUS__MESSAGE = eINSTANCE.getEclipseStatus_Message();
-
-		/**
-		 * The meta object literal for the '<em><b>Plugin</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute ECLIPSE_STATUS__PLUGIN = eINSTANCE.getEclipseStatus_Plugin();
-
-		/**
-		 * The meta object literal for the '<em><b>Severity</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute ECLIPSE_STATUS__SEVERITY = eINSTANCE.getEclipseStatus_Severity();
-
-		/**
-		 * The meta object literal for the '<em><b>Exception</b></em>' containment reference feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference ECLIPSE_STATUS__EXCEPTION = eINSTANCE.getEclipseStatus_Exception();
-
-		/**
-		 * The meta object literal for the '<em><b>Feature Guess</b></em>' attribute list feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute ECLIPSE_STATUS__FEATURE_GUESS = eINSTANCE.getEclipseStatus_FeatureGuess();
-
-		/**
-		 * The meta object literal for the '<em><b>Thread Name</b></em>' attribute feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EAttribute ECLIPSE_STATUS__THREAD_NAME = eINSTANCE.getEclipseStatus_ThreadName();
-
-		/**
 		 * The meta object literal for the '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.EclipsePreferenceImpl <em>Eclipse Preference</em>}' class.
 		 * <!-- begin-user-doc -->
 		 * <!-- end-user-doc -->
diff --git a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/SystemInfo.java b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/SystemInfo.java
index 77f9f4e..4ed574c 100644
--- a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/SystemInfo.java
+++ b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/SystemInfo.java
@@ -21,6 +21,7 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.SystemInfo#getOsName <em>Os Name</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.SystemInfo#getOsVersion <em>Os Version</em>}</li>
@@ -28,7 +29,6 @@
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.SystemInfo#getUsername <em>Username</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.SystemInfo#getVariables <em>Variables</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage#getSystemInfo()
  * @model
diff --git a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/SystemVariable.java b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/SystemVariable.java
index ea66436..6776637 100644
--- a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/SystemVariable.java
+++ b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/SystemVariable.java
@@ -19,11 +19,11 @@
  *
  * <p>
  * The following features are supported:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.SystemVariable#getName <em>Name</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.SystemVariable#getValue <em>Value</em>}</li>
  * </ul>
- * </p>
  *
  * @see org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage#getSystemVariable()
  * @model
diff --git a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/EclipseFeatureImpl.java b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/EclipseFeatureImpl.java
index 8df3d9c..19471e5 100644
--- a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/EclipseFeatureImpl.java
+++ b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/EclipseFeatureImpl.java
@@ -26,13 +26,13 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.EclipseFeatureImpl#getId <em>Id</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.EclipseFeatureImpl#getName <em>Name</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.EclipseFeatureImpl#getVersion <em>Version</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.EclipseFeatureImpl#getProvider <em>Provider</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
@@ -141,6 +141,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public String getId() {
 		return id;
 	}
@@ -150,6 +151,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setId(String newId) {
 		String oldId = id;
 		id = newId;
@@ -162,6 +164,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public String getName() {
 		return name;
 	}
@@ -171,6 +174,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setName(String newName) {
 		String oldName = name;
 		name = newName;
@@ -183,6 +187,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public String getVersion() {
 		return version;
 	}
@@ -192,6 +197,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setVersion(String newVersion) {
 		String oldVersion = version;
 		version = newVersion;
@@ -204,6 +210,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public String getProvider() {
 		return provider;
 	}
@@ -213,6 +220,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setProvider(String newProvider) {
 		String oldProvider = provider;
 		provider = newProvider;
@@ -317,7 +325,7 @@
 	public String toString() {
 		if (eIsProxy()) return super.toString();
 
-		StringBuffer result = new StringBuffer(super.toString());
+		StringBuilder result = new StringBuilder(super.toString());
 		result.append(" (id: ");
 		result.append(id);
 		result.append(", name: ");
diff --git a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/EclipseInfoImpl.java b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/EclipseInfoImpl.java
index f47ed68..0b68a25 100644
--- a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/EclipseInfoImpl.java
+++ b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/EclipseInfoImpl.java
@@ -39,6 +39,7 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.EclipseInfoImpl#getWorkspaceLocation <em>Workspace Location</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.EclipseInfoImpl#getProductId <em>Product Id</em>}</li>
@@ -53,7 +54,6 @@
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.EclipseInfoImpl#getWorkspacePartitionFreeDiskspace <em>Workspace Partition Free Diskspace</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.EclipseInfoImpl#getPreferences <em>Preferences</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
@@ -282,6 +282,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public String getWorkspaceLocation() {
 		return workspaceLocation;
 	}
@@ -291,6 +292,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setWorkspaceLocation(String newWorkspaceLocation) {
 		String oldWorkspaceLocation = workspaceLocation;
 		workspaceLocation = newWorkspaceLocation;
@@ -303,6 +305,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public String getProductId() {
 		return productId;
 	}
@@ -312,6 +315,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setProductId(String newProductId) {
 		String oldProductId = productId;
 		productId = newProductId;
@@ -324,6 +328,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public String getApplicationId() {
 		return applicationId;
 	}
@@ -333,6 +338,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setApplicationId(String newApplicationId) {
 		String oldApplicationId = applicationId;
 		applicationId = newApplicationId;
@@ -345,6 +351,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EList<String> getApplicationArgs() {
 		if (applicationArgs == null) {
 			applicationArgs = new EDataTypeUniqueEList<String>(String.class, this, SherlockPackage.ECLIPSE_INFO__APPLICATION_ARGS);
@@ -357,6 +364,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public String getBuildId() {
 		return buildId;
 	}
@@ -366,6 +374,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setBuildId(String newBuildId) {
 		String oldBuildId = buildId;
 		buildId = newBuildId;
@@ -378,6 +387,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public long getUptime() {
 		return uptime;
 	}
@@ -387,6 +397,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setUptime(long newUptime) {
 		long oldUptime = uptime;
 		uptime = newUptime;
@@ -399,6 +410,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EList<EclipsePlugin> getPlugins() {
 		if (plugins == null) {
 			plugins = new EObjectContainmentEList<EclipsePlugin>(EclipsePlugin.class, this, SherlockPackage.ECLIPSE_INFO__PLUGINS);
@@ -411,6 +423,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EList<EclipseFeature> getFeatures() {
 		if (features == null) {
 			features = new EObjectContainmentEList<EclipseFeature>(EclipseFeature.class, this, SherlockPackage.ECLIPSE_INFO__FEATURES);
@@ -423,6 +436,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public long getWorkspacePartitionTotalDiskspace() {
 		return workspacePartitionTotalDiskspace;
 	}
@@ -432,6 +446,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setWorkspacePartitionTotalDiskspace(long newWorkspacePartitionTotalDiskspace) {
 		long oldWorkspacePartitionTotalDiskspace = workspacePartitionTotalDiskspace;
 		workspacePartitionTotalDiskspace = newWorkspacePartitionTotalDiskspace;
@@ -444,6 +459,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public long getWorkspacePartitionUsableDiskspace() {
 		return workspacePartitionUsableDiskspace;
 	}
@@ -453,6 +469,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setWorkspacePartitionUsableDiskspace(long newWorkspacePartitionUsableDiskspace) {
 		long oldWorkspacePartitionUsableDiskspace = workspacePartitionUsableDiskspace;
 		workspacePartitionUsableDiskspace = newWorkspacePartitionUsableDiskspace;
@@ -465,6 +482,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public long getWorkspacePartitionFreeDiskspace() {
 		return workspacePartitionFreeDiskspace;
 	}
@@ -474,6 +492,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setWorkspacePartitionFreeDiskspace(long newWorkspacePartitionFreeDiskspace) {
 		long oldWorkspacePartitionFreeDiskspace = workspacePartitionFreeDiskspace;
 		workspacePartitionFreeDiskspace = newWorkspacePartitionFreeDiskspace;
@@ -486,6 +505,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EList<EclipsePreference> getPreferences() {
 		if (preferences == null) {
 			preferences = new EObjectContainmentEList<EclipsePreference>(EclipsePreference.class, this, SherlockPackage.ECLIPSE_INFO__PREFERENCES);
@@ -693,7 +713,7 @@
 	public String toString() {
 		if (eIsProxy()) return super.toString();
 
-		StringBuffer result = new StringBuffer(super.toString());
+		StringBuilder result = new StringBuilder(super.toString());
 		result.append(" (workspaceLocation: ");
 		result.append(workspaceLocation);
 		result.append(", productId: ");
diff --git a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/EclipsePluginImpl.java b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/EclipsePluginImpl.java
index 71a0344..6547d42 100644
--- a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/EclipsePluginImpl.java
+++ b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/EclipsePluginImpl.java
@@ -26,13 +26,13 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.EclipsePluginImpl#getId <em>Id</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.EclipsePluginImpl#getName <em>Name</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.EclipsePluginImpl#getVersion <em>Version</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.EclipsePluginImpl#getProvider <em>Provider</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
@@ -141,6 +141,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public String getId() {
 		return id;
 	}
@@ -150,6 +151,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setId(String newId) {
 		String oldId = id;
 		id = newId;
@@ -162,6 +164,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public String getName() {
 		return name;
 	}
@@ -171,6 +174,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setName(String newName) {
 		String oldName = name;
 		name = newName;
@@ -183,6 +187,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public String getVersion() {
 		return version;
 	}
@@ -192,6 +197,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setVersion(String newVersion) {
 		String oldVersion = version;
 		version = newVersion;
@@ -204,6 +210,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public String getProvider() {
 		return provider;
 	}
@@ -213,6 +220,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setProvider(String newProvider) {
 		String oldProvider = provider;
 		provider = newProvider;
@@ -317,7 +325,7 @@
 	public String toString() {
 		if (eIsProxy()) return super.toString();
 
-		StringBuffer result = new StringBuffer(super.toString());
+		StringBuilder result = new StringBuilder(super.toString());
 		result.append(" (id: ");
 		result.append(id);
 		result.append(", name: ");
diff --git a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/EclipsePreferenceImpl.java b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/EclipsePreferenceImpl.java
index 6350a34..1c60664 100644
--- a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/EclipsePreferenceImpl.java
+++ b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/EclipsePreferenceImpl.java
@@ -26,12 +26,12 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.EclipsePreferenceImpl#getName <em>Name</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.EclipsePreferenceImpl#getValue <em>Value</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.EclipsePreferenceImpl#getPath <em>Path</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
@@ -120,6 +120,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public String getName() {
 		return name;
 	}
@@ -129,6 +130,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setName(String newName) {
 		String oldName = name;
 		name = newName;
@@ -141,6 +143,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public String getValue() {
 		return value;
 	}
@@ -150,6 +153,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setValue(String newValue) {
 		String oldValue = value;
 		value = newValue;
@@ -162,6 +166,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public String getPath() {
 		return path;
 	}
@@ -171,6 +176,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setPath(String newPath) {
 		String oldPath = path;
 		path = newPath;
@@ -265,7 +271,7 @@
 	public String toString() {
 		if (eIsProxy()) return super.toString();
 
-		StringBuffer result = new StringBuffer(super.toString());
+		StringBuilder result = new StringBuilder(super.toString());
 		result.append(" (name: ");
 		result.append(name);
 		result.append(", value: ");
diff --git a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/EclipseStatusImpl.java b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/EclipseStatusImpl.java
deleted file mode 100644
index c32a111..0000000
--- a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/EclipseStatusImpl.java
+++ /dev/null
@@ -1,549 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 Xored Software Inc and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Xored Software Inc - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.rcptt.sherlock.core.model.sherlock.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus;
-import org.eclipse.rcptt.sherlock.core.model.sherlock.JavaException;
-import org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Eclipse Status</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.EclipseStatusImpl#getChildren <em>Children</em>}</li>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.EclipseStatusImpl#getCode <em>Code</em>}</li>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.EclipseStatusImpl#getMessage <em>Message</em>}</li>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.EclipseStatusImpl#getPlugin <em>Plugin</em>}</li>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.EclipseStatusImpl#getSeverity <em>Severity</em>}</li>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.EclipseStatusImpl#getException <em>Exception</em>}</li>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.EclipseStatusImpl#getFeatureGuess <em>Feature Guess</em>}</li>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.EclipseStatusImpl#getThreadName <em>Thread Name</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class EclipseStatusImpl extends EObjectImpl implements EclipseStatus {
-	/**
-	 * The cached value of the '{@link #getChildren() <em>Children</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getChildren()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList<EclipseStatus> children;
-
-	/**
-	 * The default value of the '{@link #getCode() <em>Code</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getCode()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int CODE_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getCode() <em>Code</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getCode()
-	 * @generated
-	 * @ordered
-	 */
-	protected int code = CODE_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getMessage() <em>Message</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMessage()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String MESSAGE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getMessage() <em>Message</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMessage()
-	 * @generated
-	 * @ordered
-	 */
-	protected String message = MESSAGE_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getPlugin() <em>Plugin</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPlugin()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String PLUGIN_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getPlugin() <em>Plugin</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getPlugin()
-	 * @generated
-	 * @ordered
-	 */
-	protected String plugin = PLUGIN_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getSeverity() <em>Severity</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getSeverity()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int SEVERITY_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getSeverity() <em>Severity</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getSeverity()
-	 * @generated
-	 * @ordered
-	 */
-	protected int severity = SEVERITY_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getException() <em>Exception</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getException()
-	 * @generated
-	 * @ordered
-	 */
-	protected JavaException exception;
-
-	/**
-	 * The cached value of the '{@link #getFeatureGuess() <em>Feature Guess</em>}' attribute list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getFeatureGuess()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList<String> featureGuess;
-
-	/**
-	 * The default value of the '{@link #getThreadName() <em>Thread Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getThreadName()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String THREAD_NAME_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getThreadName() <em>Thread Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getThreadName()
-	 * @generated
-	 * @ordered
-	 */
-	protected String threadName = THREAD_NAME_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected EclipseStatusImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return SherlockPackage.Literals.ECLIPSE_STATUS;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList<EclipseStatus> getChildren() {
-		if (children == null) {
-			children = new EObjectContainmentEList<EclipseStatus>(EclipseStatus.class, this, SherlockPackage.ECLIPSE_STATUS__CHILDREN);
-		}
-		return children;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getCode() {
-		return code;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setCode(int newCode) {
-		int oldCode = code;
-		code = newCode;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, SherlockPackage.ECLIPSE_STATUS__CODE, oldCode, code));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getMessage() {
-		return message;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setMessage(String newMessage) {
-		String oldMessage = message;
-		message = newMessage;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, SherlockPackage.ECLIPSE_STATUS__MESSAGE, oldMessage, message));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getPlugin() {
-		return plugin;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setPlugin(String newPlugin) {
-		String oldPlugin = plugin;
-		plugin = newPlugin;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, SherlockPackage.ECLIPSE_STATUS__PLUGIN, oldPlugin, plugin));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getSeverity() {
-		return severity;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setSeverity(int newSeverity) {
-		int oldSeverity = severity;
-		severity = newSeverity;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, SherlockPackage.ECLIPSE_STATUS__SEVERITY, oldSeverity, severity));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public JavaException getException() {
-		return exception;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetException(JavaException newException, NotificationChain msgs) {
-		JavaException oldException = exception;
-		exception = newException;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SherlockPackage.ECLIPSE_STATUS__EXCEPTION, oldException, newException);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setException(JavaException newException) {
-		if (newException != exception) {
-			NotificationChain msgs = null;
-			if (exception != null)
-				msgs = ((InternalEObject)exception).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SherlockPackage.ECLIPSE_STATUS__EXCEPTION, null, msgs);
-			if (newException != null)
-				msgs = ((InternalEObject)newException).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SherlockPackage.ECLIPSE_STATUS__EXCEPTION, null, msgs);
-			msgs = basicSetException(newException, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, SherlockPackage.ECLIPSE_STATUS__EXCEPTION, newException, newException));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList<String> getFeatureGuess() {
-		if (featureGuess == null) {
-			featureGuess = new EDataTypeUniqueEList<String>(String.class, this, SherlockPackage.ECLIPSE_STATUS__FEATURE_GUESS);
-		}
-		return featureGuess;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getThreadName() {
-		return threadName;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setThreadName(String newThreadName) {
-		String oldThreadName = threadName;
-		threadName = newThreadName;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, SherlockPackage.ECLIPSE_STATUS__THREAD_NAME, oldThreadName, threadName));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case SherlockPackage.ECLIPSE_STATUS__CHILDREN:
-				return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, msgs);
-			case SherlockPackage.ECLIPSE_STATUS__EXCEPTION:
-				return basicSetException(null, msgs);
-		}
-		return super.eInverseRemove(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case SherlockPackage.ECLIPSE_STATUS__CHILDREN:
-				return getChildren();
-			case SherlockPackage.ECLIPSE_STATUS__CODE:
-				return getCode();
-			case SherlockPackage.ECLIPSE_STATUS__MESSAGE:
-				return getMessage();
-			case SherlockPackage.ECLIPSE_STATUS__PLUGIN:
-				return getPlugin();
-			case SherlockPackage.ECLIPSE_STATUS__SEVERITY:
-				return getSeverity();
-			case SherlockPackage.ECLIPSE_STATUS__EXCEPTION:
-				return getException();
-			case SherlockPackage.ECLIPSE_STATUS__FEATURE_GUESS:
-				return getFeatureGuess();
-			case SherlockPackage.ECLIPSE_STATUS__THREAD_NAME:
-				return getThreadName();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@SuppressWarnings("unchecked")
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case SherlockPackage.ECLIPSE_STATUS__CHILDREN:
-				getChildren().clear();
-				getChildren().addAll((Collection<? extends EclipseStatus>)newValue);
-				return;
-			case SherlockPackage.ECLIPSE_STATUS__CODE:
-				setCode((Integer)newValue);
-				return;
-			case SherlockPackage.ECLIPSE_STATUS__MESSAGE:
-				setMessage((String)newValue);
-				return;
-			case SherlockPackage.ECLIPSE_STATUS__PLUGIN:
-				setPlugin((String)newValue);
-				return;
-			case SherlockPackage.ECLIPSE_STATUS__SEVERITY:
-				setSeverity((Integer)newValue);
-				return;
-			case SherlockPackage.ECLIPSE_STATUS__EXCEPTION:
-				setException((JavaException)newValue);
-				return;
-			case SherlockPackage.ECLIPSE_STATUS__FEATURE_GUESS:
-				getFeatureGuess().clear();
-				getFeatureGuess().addAll((Collection<? extends String>)newValue);
-				return;
-			case SherlockPackage.ECLIPSE_STATUS__THREAD_NAME:
-				setThreadName((String)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case SherlockPackage.ECLIPSE_STATUS__CHILDREN:
-				getChildren().clear();
-				return;
-			case SherlockPackage.ECLIPSE_STATUS__CODE:
-				setCode(CODE_EDEFAULT);
-				return;
-			case SherlockPackage.ECLIPSE_STATUS__MESSAGE:
-				setMessage(MESSAGE_EDEFAULT);
-				return;
-			case SherlockPackage.ECLIPSE_STATUS__PLUGIN:
-				setPlugin(PLUGIN_EDEFAULT);
-				return;
-			case SherlockPackage.ECLIPSE_STATUS__SEVERITY:
-				setSeverity(SEVERITY_EDEFAULT);
-				return;
-			case SherlockPackage.ECLIPSE_STATUS__EXCEPTION:
-				setException((JavaException)null);
-				return;
-			case SherlockPackage.ECLIPSE_STATUS__FEATURE_GUESS:
-				getFeatureGuess().clear();
-				return;
-			case SherlockPackage.ECLIPSE_STATUS__THREAD_NAME:
-				setThreadName(THREAD_NAME_EDEFAULT);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case SherlockPackage.ECLIPSE_STATUS__CHILDREN:
-				return children != null && !children.isEmpty();
-			case SherlockPackage.ECLIPSE_STATUS__CODE:
-				return code != CODE_EDEFAULT;
-			case SherlockPackage.ECLIPSE_STATUS__MESSAGE:
-				return MESSAGE_EDEFAULT == null ? message != null : !MESSAGE_EDEFAULT.equals(message);
-			case SherlockPackage.ECLIPSE_STATUS__PLUGIN:
-				return PLUGIN_EDEFAULT == null ? plugin != null : !PLUGIN_EDEFAULT.equals(plugin);
-			case SherlockPackage.ECLIPSE_STATUS__SEVERITY:
-				return severity != SEVERITY_EDEFAULT;
-			case SherlockPackage.ECLIPSE_STATUS__EXCEPTION:
-				return exception != null;
-			case SherlockPackage.ECLIPSE_STATUS__FEATURE_GUESS:
-				return featureGuess != null && !featureGuess.isEmpty();
-			case SherlockPackage.ECLIPSE_STATUS__THREAD_NAME:
-				return THREAD_NAME_EDEFAULT == null ? threadName != null : !THREAD_NAME_EDEFAULT.equals(threadName);
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (code: ");
-		result.append(code);
-		result.append(", message: ");
-		result.append(message);
-		result.append(", plugin: ");
-		result.append(plugin);
-		result.append(", severity: ");
-		result.append(severity);
-		result.append(", featureGuess: ");
-		result.append(featureGuess);
-		result.append(", threadName: ");
-		result.append(threadName);
-		result.append(')');
-		return result.toString();
-	}
-
-} //EclipseStatusImpl
diff --git a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/JavaExceptionImpl.java b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/JavaExceptionImpl.java
deleted file mode 100644
index d0eeb1c..0000000
--- a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/JavaExceptionImpl.java
+++ /dev/null
@@ -1,350 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 Xored Software Inc and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Xored Software Inc - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.rcptt.sherlock.core.model.sherlock.impl;
-
-import java.util.Collection;
-
-import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.notify.NotificationChain;
-
-import org.eclipse.emf.common.util.EList;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.emf.ecore.util.EObjectContainmentEList;
-import org.eclipse.emf.ecore.util.InternalEList;
-
-import org.eclipse.rcptt.sherlock.core.model.sherlock.JavaException;
-import org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry;
-import org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Java Exception</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.JavaExceptionImpl#getClassName <em>Class Name</em>}</li>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.JavaExceptionImpl#getCause <em>Cause</em>}</li>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.JavaExceptionImpl#getMessage <em>Message</em>}</li>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.JavaExceptionImpl#getStackTrace <em>Stack Trace</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class JavaExceptionImpl extends EObjectImpl implements JavaException {
-	/**
-	 * The default value of the '{@link #getClassName() <em>Class Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getClassName()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String CLASS_NAME_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getClassName() <em>Class Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getClassName()
-	 * @generated
-	 * @ordered
-	 */
-	protected String className = CLASS_NAME_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getCause() <em>Cause</em>}' containment reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getCause()
-	 * @generated
-	 * @ordered
-	 */
-	protected JavaException cause;
-
-	/**
-	 * The default value of the '{@link #getMessage() <em>Message</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMessage()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String MESSAGE_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getMessage() <em>Message</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMessage()
-	 * @generated
-	 * @ordered
-	 */
-	protected String message = MESSAGE_EDEFAULT;
-
-	/**
-	 * The cached value of the '{@link #getStackTrace() <em>Stack Trace</em>}' containment reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getStackTrace()
-	 * @generated
-	 * @ordered
-	 */
-	protected EList<JavaStackTraceEntry> stackTrace;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected JavaExceptionImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return SherlockPackage.Literals.JAVA_EXCEPTION;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getClassName() {
-		return className;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setClassName(String newClassName) {
-		String oldClassName = className;
-		className = newClassName;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, SherlockPackage.JAVA_EXCEPTION__CLASS_NAME, oldClassName, className));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public JavaException getCause() {
-		return cause;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public NotificationChain basicSetCause(JavaException newCause, NotificationChain msgs) {
-		JavaException oldCause = cause;
-		cause = newCause;
-		if (eNotificationRequired()) {
-			ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SherlockPackage.JAVA_EXCEPTION__CAUSE, oldCause, newCause);
-			if (msgs == null) msgs = notification; else msgs.add(notification);
-		}
-		return msgs;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setCause(JavaException newCause) {
-		if (newCause != cause) {
-			NotificationChain msgs = null;
-			if (cause != null)
-				msgs = ((InternalEObject)cause).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SherlockPackage.JAVA_EXCEPTION__CAUSE, null, msgs);
-			if (newCause != null)
-				msgs = ((InternalEObject)newCause).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - SherlockPackage.JAVA_EXCEPTION__CAUSE, null, msgs);
-			msgs = basicSetCause(newCause, msgs);
-			if (msgs != null) msgs.dispatch();
-		}
-		else if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, SherlockPackage.JAVA_EXCEPTION__CAUSE, newCause, newCause));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getMessage() {
-		return message;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setMessage(String newMessage) {
-		String oldMessage = message;
-		message = newMessage;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, SherlockPackage.JAVA_EXCEPTION__MESSAGE, oldMessage, message));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EList<JavaStackTraceEntry> getStackTrace() {
-		if (stackTrace == null) {
-			stackTrace = new EObjectContainmentEList<JavaStackTraceEntry>(JavaStackTraceEntry.class, this, SherlockPackage.JAVA_EXCEPTION__STACK_TRACE);
-		}
-		return stackTrace;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
-		switch (featureID) {
-			case SherlockPackage.JAVA_EXCEPTION__CAUSE:
-				return basicSetCause(null, msgs);
-			case SherlockPackage.JAVA_EXCEPTION__STACK_TRACE:
-				return ((InternalEList<?>)getStackTrace()).basicRemove(otherEnd, msgs);
-		}
-		return super.eInverseRemove(otherEnd, featureID, msgs);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case SherlockPackage.JAVA_EXCEPTION__CLASS_NAME:
-				return getClassName();
-			case SherlockPackage.JAVA_EXCEPTION__CAUSE:
-				return getCause();
-			case SherlockPackage.JAVA_EXCEPTION__MESSAGE:
-				return getMessage();
-			case SherlockPackage.JAVA_EXCEPTION__STACK_TRACE:
-				return getStackTrace();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@SuppressWarnings("unchecked")
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case SherlockPackage.JAVA_EXCEPTION__CLASS_NAME:
-				setClassName((String)newValue);
-				return;
-			case SherlockPackage.JAVA_EXCEPTION__CAUSE:
-				setCause((JavaException)newValue);
-				return;
-			case SherlockPackage.JAVA_EXCEPTION__MESSAGE:
-				setMessage((String)newValue);
-				return;
-			case SherlockPackage.JAVA_EXCEPTION__STACK_TRACE:
-				getStackTrace().clear();
-				getStackTrace().addAll((Collection<? extends JavaStackTraceEntry>)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case SherlockPackage.JAVA_EXCEPTION__CLASS_NAME:
-				setClassName(CLASS_NAME_EDEFAULT);
-				return;
-			case SherlockPackage.JAVA_EXCEPTION__CAUSE:
-				setCause((JavaException)null);
-				return;
-			case SherlockPackage.JAVA_EXCEPTION__MESSAGE:
-				setMessage(MESSAGE_EDEFAULT);
-				return;
-			case SherlockPackage.JAVA_EXCEPTION__STACK_TRACE:
-				getStackTrace().clear();
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case SherlockPackage.JAVA_EXCEPTION__CLASS_NAME:
-				return CLASS_NAME_EDEFAULT == null ? className != null : !CLASS_NAME_EDEFAULT.equals(className);
-			case SherlockPackage.JAVA_EXCEPTION__CAUSE:
-				return cause != null;
-			case SherlockPackage.JAVA_EXCEPTION__MESSAGE:
-				return MESSAGE_EDEFAULT == null ? message != null : !MESSAGE_EDEFAULT.equals(message);
-			case SherlockPackage.JAVA_EXCEPTION__STACK_TRACE:
-				return stackTrace != null && !stackTrace.isEmpty();
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (className: ");
-		result.append(className);
-		result.append(", message: ");
-		result.append(message);
-		result.append(')');
-		return result.toString();
-	}
-
-} //JavaExceptionImpl
diff --git a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/JavaInfoImpl.java b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/JavaInfoImpl.java
index 508d255..c0b043e 100644
--- a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/JavaInfoImpl.java
+++ b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/JavaInfoImpl.java
@@ -37,6 +37,7 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.JavaInfoImpl#getRuntimeName <em>Runtime Name</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.JavaInfoImpl#getRuntimeVersion <em>Runtime Version</em>}</li>
@@ -46,7 +47,6 @@
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.JavaInfoImpl#getArgs <em>Args</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.JavaInfoImpl#getProperties <em>Properties</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
@@ -195,6 +195,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public String getRuntimeName() {
 		return runtimeName;
 	}
@@ -204,6 +205,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setRuntimeName(String newRuntimeName) {
 		String oldRuntimeName = runtimeName;
 		runtimeName = newRuntimeName;
@@ -216,6 +218,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public String getRuntimeVersion() {
 		return runtimeVersion;
 	}
@@ -225,6 +228,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setRuntimeVersion(String newRuntimeVersion) {
 		String oldRuntimeVersion = runtimeVersion;
 		runtimeVersion = newRuntimeVersion;
@@ -237,6 +241,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public long getMaxMemory() {
 		return maxMemory;
 	}
@@ -246,6 +251,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setMaxMemory(long newMaxMemory) {
 		long oldMaxMemory = maxMemory;
 		maxMemory = newMaxMemory;
@@ -258,6 +264,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public long getFreeMemory() {
 		return freeMemory;
 	}
@@ -267,6 +274,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setFreeMemory(long newFreeMemory) {
 		long oldFreeMemory = freeMemory;
 		freeMemory = newFreeMemory;
@@ -279,6 +287,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public long getTotalMemory() {
 		return totalMemory;
 	}
@@ -288,6 +297,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setTotalMemory(long newTotalMemory) {
 		long oldTotalMemory = totalMemory;
 		totalMemory = newTotalMemory;
@@ -300,6 +310,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EList<String> getArgs() {
 		if (args == null) {
 			args = new EDataTypeUniqueEList<String>(String.class, this, SherlockPackage.JAVA_INFO__ARGS);
@@ -312,6 +323,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EList<JavaProperty> getProperties() {
 		if (properties == null) {
 			properties = new EObjectContainmentEList<JavaProperty>(JavaProperty.class, this, SherlockPackage.JAVA_INFO__PROPERTIES);
@@ -463,7 +475,7 @@
 	public String toString() {
 		if (eIsProxy()) return super.toString();
 
-		StringBuffer result = new StringBuffer(super.toString());
+		StringBuilder result = new StringBuilder(super.toString());
 		result.append(" (runtimeName: ");
 		result.append(runtimeName);
 		result.append(", runtimeVersion: ");
diff --git a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/JavaPropertyImpl.java b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/JavaPropertyImpl.java
index fee4386..da2d5d4 100644
--- a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/JavaPropertyImpl.java
+++ b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/JavaPropertyImpl.java
@@ -26,11 +26,11 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.JavaPropertyImpl#getName <em>Name</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.JavaPropertyImpl#getValue <em>Value</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
@@ -99,6 +99,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public String getName() {
 		return name;
 	}
@@ -108,6 +109,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setName(String newName) {
 		String oldName = name;
 		name = newName;
@@ -120,6 +122,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public String getValue() {
 		return value;
 	}
@@ -129,6 +132,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setValue(String newValue) {
 		String oldValue = value;
 		value = newValue;
@@ -213,7 +217,7 @@
 	public String toString() {
 		if (eIsProxy()) return super.toString();
 
-		StringBuffer result = new StringBuffer(super.toString());
+		StringBuilder result = new StringBuilder(super.toString());
 		result.append(" (name: ");
 		result.append(name);
 		result.append(", value: ");
diff --git a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/JavaStackTraceEntryImpl.java b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/JavaStackTraceEntryImpl.java
deleted file mode 100644
index a057e78..0000000
--- a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/JavaStackTraceEntryImpl.java
+++ /dev/null
@@ -1,387 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2014 Xored Software Inc and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     Xored Software Inc - initial API and implementation and/or initial documentation
- *******************************************************************************/
-package org.eclipse.rcptt.sherlock.core.model.sherlock.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-import org.eclipse.emf.ecore.impl.EObjectImpl;
-
-import org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry;
-import org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Java Stack Trace Entry</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.JavaStackTraceEntryImpl#getFileName <em>File Name</em>}</li>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.JavaStackTraceEntryImpl#getLineNumber <em>Line Number</em>}</li>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.JavaStackTraceEntryImpl#getClassName <em>Class Name</em>}</li>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.JavaStackTraceEntryImpl#getMethodName <em>Method Name</em>}</li>
- *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.JavaStackTraceEntryImpl#isNativeMethod <em>Native Method</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class JavaStackTraceEntryImpl extends EObjectImpl implements JavaStackTraceEntry {
-	/**
-	 * The default value of the '{@link #getFileName() <em>File Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getFileName()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String FILE_NAME_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getFileName() <em>File Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getFileName()
-	 * @generated
-	 * @ordered
-	 */
-	protected String fileName = FILE_NAME_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getLineNumber() <em>Line Number</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getLineNumber()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final int LINE_NUMBER_EDEFAULT = 0;
-
-	/**
-	 * The cached value of the '{@link #getLineNumber() <em>Line Number</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getLineNumber()
-	 * @generated
-	 * @ordered
-	 */
-	protected int lineNumber = LINE_NUMBER_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getClassName() <em>Class Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getClassName()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String CLASS_NAME_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getClassName() <em>Class Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getClassName()
-	 * @generated
-	 * @ordered
-	 */
-	protected String className = CLASS_NAME_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #getMethodName() <em>Method Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMethodName()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final String METHOD_NAME_EDEFAULT = null;
-
-	/**
-	 * The cached value of the '{@link #getMethodName() <em>Method Name</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getMethodName()
-	 * @generated
-	 * @ordered
-	 */
-	protected String methodName = METHOD_NAME_EDEFAULT;
-
-	/**
-	 * The default value of the '{@link #isNativeMethod() <em>Native Method</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isNativeMethod()
-	 * @generated
-	 * @ordered
-	 */
-	protected static final boolean NATIVE_METHOD_EDEFAULT = false;
-
-	/**
-	 * The cached value of the '{@link #isNativeMethod() <em>Native Method</em>}' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #isNativeMethod()
-	 * @generated
-	 * @ordered
-	 */
-	protected boolean nativeMethod = NATIVE_METHOD_EDEFAULT;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected JavaStackTraceEntryImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return SherlockPackage.Literals.JAVA_STACK_TRACE_ENTRY;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getFileName() {
-		return fileName;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setFileName(String newFileName) {
-		String oldFileName = fileName;
-		fileName = newFileName;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, SherlockPackage.JAVA_STACK_TRACE_ENTRY__FILE_NAME, oldFileName, fileName));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public int getLineNumber() {
-		return lineNumber;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setLineNumber(int newLineNumber) {
-		int oldLineNumber = lineNumber;
-		lineNumber = newLineNumber;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, SherlockPackage.JAVA_STACK_TRACE_ENTRY__LINE_NUMBER, oldLineNumber, lineNumber));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getClassName() {
-		return className;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setClassName(String newClassName) {
-		String oldClassName = className;
-		className = newClassName;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, SherlockPackage.JAVA_STACK_TRACE_ENTRY__CLASS_NAME, oldClassName, className));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public String getMethodName() {
-		return methodName;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setMethodName(String newMethodName) {
-		String oldMethodName = methodName;
-		methodName = newMethodName;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, SherlockPackage.JAVA_STACK_TRACE_ENTRY__METHOD_NAME, oldMethodName, methodName));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public boolean isNativeMethod() {
-		return nativeMethod;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setNativeMethod(boolean newNativeMethod) {
-		boolean oldNativeMethod = nativeMethod;
-		nativeMethod = newNativeMethod;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, SherlockPackage.JAVA_STACK_TRACE_ENTRY__NATIVE_METHOD, oldNativeMethod, nativeMethod));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case SherlockPackage.JAVA_STACK_TRACE_ENTRY__FILE_NAME:
-				return getFileName();
-			case SherlockPackage.JAVA_STACK_TRACE_ENTRY__LINE_NUMBER:
-				return getLineNumber();
-			case SherlockPackage.JAVA_STACK_TRACE_ENTRY__CLASS_NAME:
-				return getClassName();
-			case SherlockPackage.JAVA_STACK_TRACE_ENTRY__METHOD_NAME:
-				return getMethodName();
-			case SherlockPackage.JAVA_STACK_TRACE_ENTRY__NATIVE_METHOD:
-				return isNativeMethod();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case SherlockPackage.JAVA_STACK_TRACE_ENTRY__FILE_NAME:
-				setFileName((String)newValue);
-				return;
-			case SherlockPackage.JAVA_STACK_TRACE_ENTRY__LINE_NUMBER:
-				setLineNumber((Integer)newValue);
-				return;
-			case SherlockPackage.JAVA_STACK_TRACE_ENTRY__CLASS_NAME:
-				setClassName((String)newValue);
-				return;
-			case SherlockPackage.JAVA_STACK_TRACE_ENTRY__METHOD_NAME:
-				setMethodName((String)newValue);
-				return;
-			case SherlockPackage.JAVA_STACK_TRACE_ENTRY__NATIVE_METHOD:
-				setNativeMethod((Boolean)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case SherlockPackage.JAVA_STACK_TRACE_ENTRY__FILE_NAME:
-				setFileName(FILE_NAME_EDEFAULT);
-				return;
-			case SherlockPackage.JAVA_STACK_TRACE_ENTRY__LINE_NUMBER:
-				setLineNumber(LINE_NUMBER_EDEFAULT);
-				return;
-			case SherlockPackage.JAVA_STACK_TRACE_ENTRY__CLASS_NAME:
-				setClassName(CLASS_NAME_EDEFAULT);
-				return;
-			case SherlockPackage.JAVA_STACK_TRACE_ENTRY__METHOD_NAME:
-				setMethodName(METHOD_NAME_EDEFAULT);
-				return;
-			case SherlockPackage.JAVA_STACK_TRACE_ENTRY__NATIVE_METHOD:
-				setNativeMethod(NATIVE_METHOD_EDEFAULT);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case SherlockPackage.JAVA_STACK_TRACE_ENTRY__FILE_NAME:
-				return FILE_NAME_EDEFAULT == null ? fileName != null : !FILE_NAME_EDEFAULT.equals(fileName);
-			case SherlockPackage.JAVA_STACK_TRACE_ENTRY__LINE_NUMBER:
-				return lineNumber != LINE_NUMBER_EDEFAULT;
-			case SherlockPackage.JAVA_STACK_TRACE_ENTRY__CLASS_NAME:
-				return CLASS_NAME_EDEFAULT == null ? className != null : !CLASS_NAME_EDEFAULT.equals(className);
-			case SherlockPackage.JAVA_STACK_TRACE_ENTRY__METHOD_NAME:
-				return METHOD_NAME_EDEFAULT == null ? methodName != null : !METHOD_NAME_EDEFAULT.equals(methodName);
-			case SherlockPackage.JAVA_STACK_TRACE_ENTRY__NATIVE_METHOD:
-				return nativeMethod != NATIVE_METHOD_EDEFAULT;
-		}
-		return super.eIsSet(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String toString() {
-		if (eIsProxy()) return super.toString();
-
-		StringBuffer result = new StringBuffer(super.toString());
-		result.append(" (fileName: ");
-		result.append(fileName);
-		result.append(", lineNumber: ");
-		result.append(lineNumber);
-		result.append(", className: ");
-		result.append(className);
-		result.append(", methodName: ");
-		result.append(methodName);
-		result.append(", nativeMethod: ");
-		result.append(nativeMethod);
-		result.append(')');
-		return result.toString();
-	}
-
-} //JavaStackTraceEntryImpl
diff --git a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/SherlockFactoryImpl.java b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/SherlockFactoryImpl.java
index d2d0bd9..7b12a55 100644
--- a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/SherlockFactoryImpl.java
+++ b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/SherlockFactoryImpl.java
@@ -35,7 +35,7 @@
 	 */
 	public static SherlockFactory init() {
 		try {
-			SherlockFactory theSherlockFactory = (SherlockFactory)EPackage.Registry.INSTANCE.getEFactory("http://eclipse.org/rcptt/sherlock/core"); 
+			SherlockFactory theSherlockFactory = (SherlockFactory)EPackage.Registry.INSTANCE.getEFactory(SherlockPackage.eNS_URI);
 			if (theSherlockFactory != null) {
 				return theSherlockFactory;
 			}
@@ -71,9 +71,6 @@
 			case SherlockPackage.ECLIPSE_INFO: return createEclipseInfo();
 			case SherlockPackage.ECLIPSE_PLUGIN: return createEclipsePlugin();
 			case SherlockPackage.ECLIPSE_FEATURE: return createEclipseFeature();
-			case SherlockPackage.JAVA_EXCEPTION: return createJavaException();
-			case SherlockPackage.JAVA_STACK_TRACE_ENTRY: return createJavaStackTraceEntry();
-			case SherlockPackage.ECLIPSE_STATUS: return createEclipseStatus();
 			case SherlockPackage.ECLIPSE_PREFERENCE: return createEclipsePreference();
 			default:
 				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
@@ -85,6 +82,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public SystemInfo createSystemInfo() {
 		SystemInfoImpl systemInfo = new SystemInfoImpl();
 		return systemInfo;
@@ -95,6 +93,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public SystemVariable createSystemVariable() {
 		SystemVariableImpl systemVariable = new SystemVariableImpl();
 		return systemVariable;
@@ -105,6 +104,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public JavaInfo createJavaInfo() {
 		JavaInfoImpl javaInfo = new JavaInfoImpl();
 		return javaInfo;
@@ -115,6 +115,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public JavaProperty createJavaProperty() {
 		JavaPropertyImpl javaProperty = new JavaPropertyImpl();
 		return javaProperty;
@@ -125,6 +126,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EclipseInfo createEclipseInfo() {
 		EclipseInfoImpl eclipseInfo = new EclipseInfoImpl();
 		return eclipseInfo;
@@ -135,6 +137,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EclipsePlugin createEclipsePlugin() {
 		EclipsePluginImpl eclipsePlugin = new EclipsePluginImpl();
 		return eclipsePlugin;
@@ -145,6 +148,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EclipseFeature createEclipseFeature() {
 		EclipseFeatureImpl eclipseFeature = new EclipseFeatureImpl();
 		return eclipseFeature;
@@ -155,36 +159,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public JavaException createJavaException() {
-		JavaExceptionImpl javaException = new JavaExceptionImpl();
-		return javaException;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public JavaStackTraceEntry createJavaStackTraceEntry() {
-		JavaStackTraceEntryImpl javaStackTraceEntry = new JavaStackTraceEntryImpl();
-		return javaStackTraceEntry;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EclipseStatus createEclipseStatus() {
-		EclipseStatusImpl eclipseStatus = new EclipseStatusImpl();
-		return eclipseStatus;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
+	@Override
 	public EclipsePreference createEclipsePreference() {
 		EclipsePreferenceImpl eclipsePreference = new EclipsePreferenceImpl();
 		return eclipsePreference;
@@ -195,6 +170,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public SherlockPackage getSherlockPackage() {
 		return (SherlockPackage)getEPackage();
 	}
diff --git a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/SherlockPackageImpl.java b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/SherlockPackageImpl.java
index d8564f4..bafba7c 100644
--- a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/SherlockPackageImpl.java
+++ b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/SherlockPackageImpl.java
@@ -14,18 +14,13 @@
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EPackage;
 import org.eclipse.emf.ecore.EReference;
-
 import org.eclipse.emf.ecore.impl.EPackageImpl;
-
 import org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseFeature;
 import org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseInfo;
 import org.eclipse.rcptt.sherlock.core.model.sherlock.EclipsePlugin;
 import org.eclipse.rcptt.sherlock.core.model.sherlock.EclipsePreference;
-import org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus;
-import org.eclipse.rcptt.sherlock.core.model.sherlock.JavaException;
 import org.eclipse.rcptt.sherlock.core.model.sherlock.JavaInfo;
 import org.eclipse.rcptt.sherlock.core.model.sherlock.JavaProperty;
-import org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry;
 import org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockFactory;
 import org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockPackage;
 import org.eclipse.rcptt.sherlock.core.model.sherlock.SystemInfo;
@@ -92,27 +87,6 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	private EClass javaExceptionEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass javaStackTraceEntryEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass eclipseStatusEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
 	private EClass eclipsePreferenceEClass = null;
 
 	/**
@@ -143,7 +117,7 @@
 
 	/**
 	 * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
-	 * 
+	 *
 	 * <p>This method is used to initialize {@link SherlockPackage#eINSTANCE} when that field is accessed.
 	 * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
 	 * <!-- begin-user-doc -->
@@ -157,7 +131,8 @@
 		if (isInited) return (SherlockPackage)EPackage.Registry.INSTANCE.getEPackage(SherlockPackage.eNS_URI);
 
 		// Obtain or create and register package
-		SherlockPackageImpl theSherlockPackage = (SherlockPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof SherlockPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new SherlockPackageImpl());
+		Object registeredSherlockPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+		SherlockPackageImpl theSherlockPackage = registeredSherlockPackage instanceof SherlockPackageImpl ? (SherlockPackageImpl)registeredSherlockPackage : new SherlockPackageImpl();
 
 		isInited = true;
 
@@ -170,7 +145,6 @@
 		// Mark meta-data to indicate it can't be changed
 		theSherlockPackage.freeze();
 
-  
 		// Update the registry and return the package
 		EPackage.Registry.INSTANCE.put(SherlockPackage.eNS_URI, theSherlockPackage);
 		return theSherlockPackage;
@@ -181,6 +155,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EClass getSystemInfo() {
 		return systemInfoEClass;
 	}
@@ -190,6 +165,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getSystemInfo_OsName() {
 		return (EAttribute)systemInfoEClass.getEStructuralFeatures().get(0);
 	}
@@ -199,6 +175,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getSystemInfo_OsVersion() {
 		return (EAttribute)systemInfoEClass.getEStructuralFeatures().get(1);
 	}
@@ -208,6 +185,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getSystemInfo_OsArch() {
 		return (EAttribute)systemInfoEClass.getEStructuralFeatures().get(2);
 	}
@@ -217,6 +195,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getSystemInfo_Username() {
 		return (EAttribute)systemInfoEClass.getEStructuralFeatures().get(3);
 	}
@@ -226,6 +205,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EReference getSystemInfo_Variables() {
 		return (EReference)systemInfoEClass.getEStructuralFeatures().get(4);
 	}
@@ -235,6 +215,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EClass getSystemVariable() {
 		return systemVariableEClass;
 	}
@@ -244,6 +225,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getSystemVariable_Name() {
 		return (EAttribute)systemVariableEClass.getEStructuralFeatures().get(0);
 	}
@@ -253,6 +235,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getSystemVariable_Value() {
 		return (EAttribute)systemVariableEClass.getEStructuralFeatures().get(1);
 	}
@@ -262,6 +245,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EClass getJavaInfo() {
 		return javaInfoEClass;
 	}
@@ -271,6 +255,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getJavaInfo_RuntimeName() {
 		return (EAttribute)javaInfoEClass.getEStructuralFeatures().get(0);
 	}
@@ -280,6 +265,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getJavaInfo_RuntimeVersion() {
 		return (EAttribute)javaInfoEClass.getEStructuralFeatures().get(1);
 	}
@@ -289,6 +275,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getJavaInfo_MaxMemory() {
 		return (EAttribute)javaInfoEClass.getEStructuralFeatures().get(2);
 	}
@@ -298,6 +285,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getJavaInfo_FreeMemory() {
 		return (EAttribute)javaInfoEClass.getEStructuralFeatures().get(3);
 	}
@@ -307,6 +295,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getJavaInfo_TotalMemory() {
 		return (EAttribute)javaInfoEClass.getEStructuralFeatures().get(4);
 	}
@@ -316,6 +305,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getJavaInfo_Args() {
 		return (EAttribute)javaInfoEClass.getEStructuralFeatures().get(5);
 	}
@@ -325,6 +315,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EReference getJavaInfo_Properties() {
 		return (EReference)javaInfoEClass.getEStructuralFeatures().get(6);
 	}
@@ -334,6 +325,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EClass getJavaProperty() {
 		return javaPropertyEClass;
 	}
@@ -343,6 +335,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getJavaProperty_Name() {
 		return (EAttribute)javaPropertyEClass.getEStructuralFeatures().get(0);
 	}
@@ -352,6 +345,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getJavaProperty_Value() {
 		return (EAttribute)javaPropertyEClass.getEStructuralFeatures().get(1);
 	}
@@ -361,6 +355,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EClass getEclipseInfo() {
 		return eclipseInfoEClass;
 	}
@@ -370,6 +365,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getEclipseInfo_WorkspaceLocation() {
 		return (EAttribute)eclipseInfoEClass.getEStructuralFeatures().get(0);
 	}
@@ -379,6 +375,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getEclipseInfo_ProductId() {
 		return (EAttribute)eclipseInfoEClass.getEStructuralFeatures().get(1);
 	}
@@ -388,6 +385,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getEclipseInfo_ApplicationId() {
 		return (EAttribute)eclipseInfoEClass.getEStructuralFeatures().get(2);
 	}
@@ -397,6 +395,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getEclipseInfo_ApplicationArgs() {
 		return (EAttribute)eclipseInfoEClass.getEStructuralFeatures().get(3);
 	}
@@ -406,6 +405,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getEclipseInfo_BuildId() {
 		return (EAttribute)eclipseInfoEClass.getEStructuralFeatures().get(4);
 	}
@@ -415,6 +415,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getEclipseInfo_Uptime() {
 		return (EAttribute)eclipseInfoEClass.getEStructuralFeatures().get(5);
 	}
@@ -424,6 +425,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EReference getEclipseInfo_Plugins() {
 		return (EReference)eclipseInfoEClass.getEStructuralFeatures().get(6);
 	}
@@ -433,6 +435,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EReference getEclipseInfo_Features() {
 		return (EReference)eclipseInfoEClass.getEStructuralFeatures().get(7);
 	}
@@ -442,6 +445,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getEclipseInfo_WorkspacePartitionTotalDiskspace() {
 		return (EAttribute)eclipseInfoEClass.getEStructuralFeatures().get(8);
 	}
@@ -451,6 +455,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getEclipseInfo_WorkspacePartitionUsableDiskspace() {
 		return (EAttribute)eclipseInfoEClass.getEStructuralFeatures().get(9);
 	}
@@ -460,6 +465,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getEclipseInfo_WorkspacePartitionFreeDiskspace() {
 		return (EAttribute)eclipseInfoEClass.getEStructuralFeatures().get(10);
 	}
@@ -469,6 +475,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EReference getEclipseInfo_Preferences() {
 		return (EReference)eclipseInfoEClass.getEStructuralFeatures().get(11);
 	}
@@ -478,6 +485,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EClass getEclipsePlugin() {
 		return eclipsePluginEClass;
 	}
@@ -487,6 +495,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getEclipsePlugin_Id() {
 		return (EAttribute)eclipsePluginEClass.getEStructuralFeatures().get(0);
 	}
@@ -496,6 +505,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getEclipsePlugin_Name() {
 		return (EAttribute)eclipsePluginEClass.getEStructuralFeatures().get(1);
 	}
@@ -505,6 +515,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getEclipsePlugin_Version() {
 		return (EAttribute)eclipsePluginEClass.getEStructuralFeatures().get(2);
 	}
@@ -514,6 +525,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getEclipsePlugin_Provider() {
 		return (EAttribute)eclipsePluginEClass.getEStructuralFeatures().get(3);
 	}
@@ -523,6 +535,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EClass getEclipseFeature() {
 		return eclipseFeatureEClass;
 	}
@@ -532,6 +545,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getEclipseFeature_Id() {
 		return (EAttribute)eclipseFeatureEClass.getEStructuralFeatures().get(0);
 	}
@@ -541,6 +555,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getEclipseFeature_Name() {
 		return (EAttribute)eclipseFeatureEClass.getEStructuralFeatures().get(1);
 	}
@@ -550,6 +565,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getEclipseFeature_Version() {
 		return (EAttribute)eclipseFeatureEClass.getEStructuralFeatures().get(2);
 	}
@@ -559,6 +575,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getEclipseFeature_Provider() {
 		return (EAttribute)eclipseFeatureEClass.getEStructuralFeatures().get(3);
 	}
@@ -568,186 +585,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
-	public EClass getJavaException() {
-		return javaExceptionEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getJavaException_ClassName() {
-		return (EAttribute)javaExceptionEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getJavaException_Cause() {
-		return (EReference)javaExceptionEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getJavaException_Message() {
-		return (EAttribute)javaExceptionEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getJavaException_StackTrace() {
-		return (EReference)javaExceptionEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getJavaStackTraceEntry() {
-		return javaStackTraceEntryEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getJavaStackTraceEntry_FileName() {
-		return (EAttribute)javaStackTraceEntryEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getJavaStackTraceEntry_LineNumber() {
-		return (EAttribute)javaStackTraceEntryEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getJavaStackTraceEntry_ClassName() {
-		return (EAttribute)javaStackTraceEntryEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getJavaStackTraceEntry_MethodName() {
-		return (EAttribute)javaStackTraceEntryEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getJavaStackTraceEntry_NativeMethod() {
-		return (EAttribute)javaStackTraceEntryEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getEclipseStatus() {
-		return eclipseStatusEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getEclipseStatus_Children() {
-		return (EReference)eclipseStatusEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getEclipseStatus_Code() {
-		return (EAttribute)eclipseStatusEClass.getEStructuralFeatures().get(1);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getEclipseStatus_Message() {
-		return (EAttribute)eclipseStatusEClass.getEStructuralFeatures().get(2);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getEclipseStatus_Plugin() {
-		return (EAttribute)eclipseStatusEClass.getEStructuralFeatures().get(3);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getEclipseStatus_Severity() {
-		return (EAttribute)eclipseStatusEClass.getEStructuralFeatures().get(4);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getEclipseStatus_Exception() {
-		return (EReference)eclipseStatusEClass.getEStructuralFeatures().get(5);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getEclipseStatus_FeatureGuess() {
-		return (EAttribute)eclipseStatusEClass.getEStructuralFeatures().get(6);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EAttribute getEclipseStatus_ThreadName() {
-		return (EAttribute)eclipseStatusEClass.getEStructuralFeatures().get(7);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
+	@Override
 	public EClass getEclipsePreference() {
 		return eclipsePreferenceEClass;
 	}
@@ -757,6 +595,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getEclipsePreference_Name() {
 		return (EAttribute)eclipsePreferenceEClass.getEStructuralFeatures().get(0);
 	}
@@ -766,6 +605,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getEclipsePreference_Value() {
 		return (EAttribute)eclipsePreferenceEClass.getEStructuralFeatures().get(1);
 	}
@@ -775,6 +615,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EAttribute getEclipsePreference_Path() {
 		return (EAttribute)eclipsePreferenceEClass.getEStructuralFeatures().get(2);
 	}
@@ -784,6 +625,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public SherlockFactory getSherlockFactory() {
 		return (SherlockFactory)getEFactoryInstance();
 	}
@@ -857,29 +699,6 @@
 		createEAttribute(eclipseFeatureEClass, ECLIPSE_FEATURE__VERSION);
 		createEAttribute(eclipseFeatureEClass, ECLIPSE_FEATURE__PROVIDER);
 
-		javaExceptionEClass = createEClass(JAVA_EXCEPTION);
-		createEAttribute(javaExceptionEClass, JAVA_EXCEPTION__CLASS_NAME);
-		createEReference(javaExceptionEClass, JAVA_EXCEPTION__CAUSE);
-		createEAttribute(javaExceptionEClass, JAVA_EXCEPTION__MESSAGE);
-		createEReference(javaExceptionEClass, JAVA_EXCEPTION__STACK_TRACE);
-
-		javaStackTraceEntryEClass = createEClass(JAVA_STACK_TRACE_ENTRY);
-		createEAttribute(javaStackTraceEntryEClass, JAVA_STACK_TRACE_ENTRY__FILE_NAME);
-		createEAttribute(javaStackTraceEntryEClass, JAVA_STACK_TRACE_ENTRY__LINE_NUMBER);
-		createEAttribute(javaStackTraceEntryEClass, JAVA_STACK_TRACE_ENTRY__CLASS_NAME);
-		createEAttribute(javaStackTraceEntryEClass, JAVA_STACK_TRACE_ENTRY__METHOD_NAME);
-		createEAttribute(javaStackTraceEntryEClass, JAVA_STACK_TRACE_ENTRY__NATIVE_METHOD);
-
-		eclipseStatusEClass = createEClass(ECLIPSE_STATUS);
-		createEReference(eclipseStatusEClass, ECLIPSE_STATUS__CHILDREN);
-		createEAttribute(eclipseStatusEClass, ECLIPSE_STATUS__CODE);
-		createEAttribute(eclipseStatusEClass, ECLIPSE_STATUS__MESSAGE);
-		createEAttribute(eclipseStatusEClass, ECLIPSE_STATUS__PLUGIN);
-		createEAttribute(eclipseStatusEClass, ECLIPSE_STATUS__SEVERITY);
-		createEReference(eclipseStatusEClass, ECLIPSE_STATUS__EXCEPTION);
-		createEAttribute(eclipseStatusEClass, ECLIPSE_STATUS__FEATURE_GUESS);
-		createEAttribute(eclipseStatusEClass, ECLIPSE_STATUS__THREAD_NAME);
-
 		eclipsePreferenceEClass = createEClass(ECLIPSE_PREFERENCE);
 		createEAttribute(eclipsePreferenceEClass, ECLIPSE_PREFERENCE__NAME);
 		createEAttribute(eclipsePreferenceEClass, ECLIPSE_PREFERENCE__VALUE);
@@ -966,29 +785,6 @@
 		initEAttribute(getEclipseFeature_Version(), ecorePackage.getEString(), "version", null, 0, 1, EclipseFeature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEAttribute(getEclipseFeature_Provider(), ecorePackage.getEString(), "provider", null, 0, 1, EclipseFeature.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(javaExceptionEClass, JavaException.class, "JavaException", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getJavaException_ClassName(), ecorePackage.getEString(), "className", null, 0, 1, JavaException.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getJavaException_Cause(), this.getJavaException(), null, "cause", null, 0, 1, JavaException.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getJavaException_Message(), ecorePackage.getEString(), "message", null, 0, 1, JavaException.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getJavaException_StackTrace(), this.getJavaStackTraceEntry(), null, "stackTrace", null, 0, -1, JavaException.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(javaStackTraceEntryEClass, JavaStackTraceEntry.class, "JavaStackTraceEntry", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEAttribute(getJavaStackTraceEntry_FileName(), ecorePackage.getEString(), "fileName", null, 0, 1, JavaStackTraceEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getJavaStackTraceEntry_LineNumber(), ecorePackage.getEInt(), "lineNumber", null, 0, 1, JavaStackTraceEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getJavaStackTraceEntry_ClassName(), ecorePackage.getEString(), "className", null, 0, 1, JavaStackTraceEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getJavaStackTraceEntry_MethodName(), ecorePackage.getEString(), "methodName", null, 0, 1, JavaStackTraceEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getJavaStackTraceEntry_NativeMethod(), ecorePackage.getEBoolean(), "nativeMethod", null, 0, 1, JavaStackTraceEntry.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(eclipseStatusEClass, EclipseStatus.class, "EclipseStatus", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEReference(getEclipseStatus_Children(), this.getEclipseStatus(), null, "children", null, 0, -1, EclipseStatus.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getEclipseStatus_Code(), ecorePackage.getEInt(), "code", null, 0, 1, EclipseStatus.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getEclipseStatus_Message(), ecorePackage.getEString(), "message", null, 0, 1, EclipseStatus.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getEclipseStatus_Plugin(), ecorePackage.getEString(), "plugin", null, 0, 1, EclipseStatus.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getEclipseStatus_Severity(), ecorePackage.getEInt(), "severity", null, 0, 1, EclipseStatus.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEReference(getEclipseStatus_Exception(), this.getJavaException(), null, "exception", null, 0, 1, EclipseStatus.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getEclipseStatus_FeatureGuess(), ecorePackage.getEString(), "featureGuess", null, 0, -1, EclipseStatus.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-		initEAttribute(getEclipseStatus_ThreadName(), ecorePackage.getEString(), "threadName", null, 0, 1, EclipseStatus.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
 		initEClass(eclipsePreferenceEClass, EclipsePreference.class, "EclipsePreference", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEAttribute(getEclipsePreference_Name(), ecorePackage.getEString(), "name", null, 0, 1, EclipsePreference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 		initEAttribute(getEclipsePreference_Value(), ecorePackage.getEString(), "value", null, 0, 1, EclipsePreference.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
diff --git a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/SystemInfoImpl.java b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/SystemInfoImpl.java
index f3714c6..6c1a6f8 100644
--- a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/SystemInfoImpl.java
+++ b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/SystemInfoImpl.java
@@ -36,6 +36,7 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.SystemInfoImpl#getOsName <em>Os Name</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.SystemInfoImpl#getOsVersion <em>Os Version</em>}</li>
@@ -43,7 +44,6 @@
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.SystemInfoImpl#getUsername <em>Username</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.SystemInfoImpl#getVariables <em>Variables</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
@@ -162,6 +162,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public String getOsName() {
 		return osName;
 	}
@@ -171,6 +172,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setOsName(String newOsName) {
 		String oldOsName = osName;
 		osName = newOsName;
@@ -183,6 +185,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public String getOsVersion() {
 		return osVersion;
 	}
@@ -192,6 +195,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setOsVersion(String newOsVersion) {
 		String oldOsVersion = osVersion;
 		osVersion = newOsVersion;
@@ -204,6 +208,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public String getOsArch() {
 		return osArch;
 	}
@@ -213,6 +218,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setOsArch(String newOsArch) {
 		String oldOsArch = osArch;
 		osArch = newOsArch;
@@ -225,6 +231,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public String getUsername() {
 		return username;
 	}
@@ -234,6 +241,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setUsername(String newUsername) {
 		String oldUsername = username;
 		username = newUsername;
@@ -246,6 +254,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public EList<SystemVariable> getVariables() {
 		if (variables == null) {
 			variables = new EObjectContainmentEList<SystemVariable>(SystemVariable.class, this, SherlockPackage.SYSTEM_INFO__VARIABLES);
@@ -376,7 +385,7 @@
 	public String toString() {
 		if (eIsProxy()) return super.toString();
 
-		StringBuffer result = new StringBuffer(super.toString());
+		StringBuilder result = new StringBuilder(super.toString());
 		result.append(" (osName: ");
 		result.append(osName);
 		result.append(", osVersion: ");
diff --git a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/SystemVariableImpl.java b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/SystemVariableImpl.java
index cb48280..fd6cfed 100644
--- a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/SystemVariableImpl.java
+++ b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/impl/SystemVariableImpl.java
@@ -26,11 +26,11 @@
  * <!-- end-user-doc -->
  * <p>
  * The following features are implemented:
+ * </p>
  * <ul>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.SystemVariableImpl#getName <em>Name</em>}</li>
  *   <li>{@link org.eclipse.rcptt.sherlock.core.model.sherlock.impl.SystemVariableImpl#getValue <em>Value</em>}</li>
  * </ul>
- * </p>
  *
  * @generated
  */
@@ -99,6 +99,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public String getName() {
 		return name;
 	}
@@ -108,6 +109,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setName(String newName) {
 		String oldName = name;
 		name = newName;
@@ -120,6 +122,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public String getValue() {
 		return value;
 	}
@@ -129,6 +132,7 @@
 	 * <!-- end-user-doc -->
 	 * @generated
 	 */
+	@Override
 	public void setValue(String newValue) {
 		String oldValue = value;
 		value = newValue;
@@ -213,7 +217,7 @@
 	public String toString() {
 		if (eIsProxy()) return super.toString();
 
-		StringBuffer result = new StringBuffer(super.toString());
+		StringBuilder result = new StringBuilder(super.toString());
 		result.append(" (name: ");
 		result.append(name);
 		result.append(", value: ");
diff --git a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/util/SherlockAdapterFactory.java b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/util/SherlockAdapterFactory.java
index bd5da2f..ec482bc 100644
--- a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/util/SherlockAdapterFactory.java
+++ b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/util/SherlockAdapterFactory.java
@@ -104,18 +104,6 @@
 				return createEclipseFeatureAdapter();
 			}
 			@Override
-			public Adapter caseJavaException(JavaException object) {
-				return createJavaExceptionAdapter();
-			}
-			@Override
-			public Adapter caseJavaStackTraceEntry(JavaStackTraceEntry object) {
-				return createJavaStackTraceEntryAdapter();
-			}
-			@Override
-			public Adapter caseEclipseStatus(EclipseStatus object) {
-				return createEclipseStatusAdapter();
-			}
-			@Override
 			public Adapter caseEclipsePreference(EclipsePreference object) {
 				return createEclipsePreferenceAdapter();
 			}
@@ -238,48 +226,6 @@
 	}
 
 	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaException <em>Java Exception</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.JavaException
-	 * @generated
-	 */
-	public Adapter createJavaExceptionAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry <em>Java Stack Trace Entry</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry
-	 * @generated
-	 */
-	public Adapter createJavaStackTraceEntryAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus <em>Eclipse Status</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus
-	 * @generated
-	 */
-	public Adapter createEclipseStatusAdapter() {
-		return null;
-	}
-
-	/**
 	 * Creates a new adapter for an object of class '{@link org.eclipse.rcptt.sherlock.core.model.sherlock.EclipsePreference <em>Eclipse Preference</em>}'.
 	 * <!-- begin-user-doc -->
 	 * This default implementation returns null so that we can easily ignore cases;
diff --git a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/util/SherlockSwitch.java b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/util/SherlockSwitch.java
index 1c899e6..a0d64df 100644
--- a/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/util/SherlockSwitch.java
+++ b/watson/org.eclipse.rcptt.watson.core/src-gen/org/eclipse/rcptt/sherlock/core/model/sherlock/util/SherlockSwitch.java
@@ -133,24 +133,6 @@
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case SherlockPackage.JAVA_EXCEPTION: {
-				JavaException javaException = (JavaException)theEObject;
-				T result = caseJavaException(javaException);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case SherlockPackage.JAVA_STACK_TRACE_ENTRY: {
-				JavaStackTraceEntry javaStackTraceEntry = (JavaStackTraceEntry)theEObject;
-				T result = caseJavaStackTraceEntry(javaStackTraceEntry);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case SherlockPackage.ECLIPSE_STATUS: {
-				EclipseStatus eclipseStatus = (EclipseStatus)theEObject;
-				T result = caseEclipseStatus(eclipseStatus);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
 			case SherlockPackage.ECLIPSE_PREFERENCE: {
 				EclipsePreference eclipsePreference = (EclipsePreference)theEObject;
 				T result = caseEclipsePreference(eclipsePreference);
@@ -267,51 +249,6 @@
 	}
 
 	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Java Exception</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>Java Exception</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseJavaException(JavaException object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Java Stack Trace Entry</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>Java Stack Trace Entry</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseJavaStackTraceEntry(JavaStackTraceEntry object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Eclipse Status</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>Eclipse Status</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseEclipseStatus(EclipseStatus object) {
-		return null;
-	}
-
-	/**
 	 * Returns the result of interpreting the object as an instance of '<em>Eclipse Preference</em>'.
 	 * <!-- begin-user-doc -->
 	 * This implementation returns null;
diff --git a/watson/org.eclipse.rcptt.watson.core/src/org/eclipse/rcptt/sherlock/core/SherlockCore.java b/watson/org.eclipse.rcptt.watson.core/src/org/eclipse/rcptt/sherlock/core/SherlockCore.java
index e108108..4965e3e 100644
--- a/watson/org.eclipse.rcptt.watson.core/src/org/eclipse/rcptt/sherlock/core/SherlockCore.java
+++ b/watson/org.eclipse.rcptt.watson.core/src/org/eclipse/rcptt/sherlock/core/SherlockCore.java
@@ -15,18 +15,8 @@
 import org.eclipse.core.runtime.Platform;
 import org.eclipse.core.runtime.Plugin;
 import org.eclipse.core.runtime.Status;
-import org.osgi.framework.BundleContext;
-
-import org.eclipse.core.runtime.IBundleGroup;
-import org.osgi.framework.Bundle;
-
-import java.util.List;
-
 import org.eclipse.rcptt.sherlock.core.internal.SherlockLogListener;
-import org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus;
-import org.eclipse.rcptt.sherlock.core.model.sherlock.JavaException;
-import org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry;
-import org.eclipse.rcptt.sherlock.core.model.sherlock.SherlockFactory;
+import org.osgi.framework.BundleContext;
 
 public class SherlockCore extends Plugin {
 	public static final String PLUGIN_ID = "org.eclipse.rcptt.watson.core";
@@ -67,79 +57,6 @@
 		getDefault().logListener.removeLogListener(listener);
 	}
 
-	// Converters
-	public static EclipseStatus convert(IStatus status) {
-		return convert(status, null);
-	}
-
-	public static EclipseStatus convert(IStatus status,
-			List<IBundleGroup> features) {
-		final EclipseStatus eclipseStatus = SherlockFactory.eINSTANCE
-				.createEclipseStatus();
-		eclipseStatus.setCode(status.getCode());
-		eclipseStatus.setMessage(status.getMessage());
-
-		String plugin = status.getPlugin();
-		eclipseStatus.setPlugin(plugin);
-
-		if (features != null) {
-			for (IBundleGroup feature : features) {
-
-				for (Bundle bundle : feature.getBundles()) {
-					if (bundle.getSymbolicName().equals(plugin)) {
-						eclipseStatus.getFeatureGuess().add(
-								feature.getIdentifier());
-						break;
-					}
-				}
-
-			}
-		}
-
-		eclipseStatus.setSeverity(status.getSeverity());
-
-		final Throwable exception = status.getException();
-		if (exception != null) {
-			eclipseStatus.setException(convert(exception));
-		}
-
-		for (IStatus child : status.getChildren()) {
-			eclipseStatus.getChildren().add(convert(child));
-		}
-
-		return eclipseStatus;
-	}
-
-	public static JavaException convert(Throwable th) {
-		final JavaException javaException = SherlockFactory.eINSTANCE
-				.createJavaException();
-
-		javaException.setClassName(th.getClass().getName());
-		javaException.setMessage(th.getMessage());
-
-		final Throwable cause = th.getCause();
-		if (cause != null) {
-			javaException.setCause(convert(cause));
-		}
-
-		for (StackTraceElement element : th.getStackTrace()) {
-			javaException.getStackTrace().add(convert(element));
-		}
-
-		return javaException;
-	}
-
-	public static JavaStackTraceEntry convert(StackTraceElement element) {
-		final JavaStackTraceEntry entry = SherlockFactory.eINSTANCE
-				.createJavaStackTraceEntry();
-		entry.setClassName(element.getClassName());
-		entry.setFileName(element.getFileName());
-		entry.setLineNumber(element.getLineNumber());
-		entry.setMethodName(element.getMethodName());
-		entry.setNativeMethod(element.isNativeMethod());
-		return entry;
-	}
-
 	public static void log(String msg) {
 		getDefault().getLog().log(
 				new Status(IStatus.ERROR, PLUGIN_ID, msg, null));
diff --git a/watson/org.eclipse.rcptt.watson.core/src/org/eclipse/rcptt/sherlock/core/reporting/SimpleReportGenerator.java b/watson/org.eclipse.rcptt.watson.core/src/org/eclipse/rcptt/sherlock/core/reporting/SimpleReportGenerator.java
index 96a3954..1245c89 100644
--- a/watson/org.eclipse.rcptt.watson.core/src/org/eclipse/rcptt/sherlock/core/reporting/SimpleReportGenerator.java
+++ b/watson/org.eclipse.rcptt.watson.core/src/org/eclipse/rcptt/sherlock/core/reporting/SimpleReportGenerator.java
@@ -16,15 +16,11 @@
 import java.util.Comparator;
 import java.util.List;
 
-import org.eclipse.core.runtime.IStatus;
 import org.eclipse.emf.common.util.EList;
 import org.eclipse.emf.common.util.EMap;
 import org.eclipse.emf.ecore.EClass;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus;
-import org.eclipse.rcptt.sherlock.core.model.sherlock.JavaException;
-import org.eclipse.rcptt.sherlock.core.model.sherlock.JavaStackTraceEntry;
 import org.eclipse.rcptt.sherlock.core.model.sherlock.report.Node;
 import org.eclipse.rcptt.sherlock.core.model.sherlock.report.Report;
 import org.eclipse.rcptt.sherlock.core.model.sherlock.report.Snaphot;
@@ -192,7 +188,7 @@
 		return stream;
 	}
 
-	protected <T extends Appendable> T appendTabs(T stream, int tabs) {
+	protected static <T extends Appendable> T appendTabs(T stream, int tabs) {
 		for (int i = 0; i < tabs; ++i) {
 			try {
 				stream.append("  ");
@@ -203,54 +199,6 @@
 		return stream;
 	}
 
-	public <T extends Appendable> T printStatus(EclipseStatus s, int tabs,
-			T builder) throws IOException {
-		int severity = s.getSeverity();
-		if (severity == IStatus.ERROR) {
-			appendTabs(builder, tabs).append("Error");
-		}
-		if (severity == IStatus.INFO) {
-			appendTabs(builder, tabs).append("Info");
-		}
-		if (severity == IStatus.WARNING) {
-			appendTabs(builder, tabs).append("Warning");
-		}
-		builder.append(" in plugin: ").append(s.getPlugin())
-				.append(LINE_SEPARATOR);
-		appendTabs(builder, tabs).append("message: ").append(s.getMessage())
-				.append(LINE_SEPARATOR);
-		if (s.getException() != null) {
-			appendTabs(builder, tabs).append("exception: ").append(
-					LINE_SEPARATOR);
-			printJavaException(s.getException(), tabs + 2, builder);
-		}
-		return builder;
-	}
-
-	private Appendable printJavaException(JavaException e, int tabs,
-			Appendable builder) throws IOException {
-		appendTabs(builder, tabs).append(e.getClassName());
-		if (e.getMessage() != null && e.getMessage().length() > 0) {
-			builder.append(":").append(e.getMessage());
-		}
-		builder.append(LINE_SEPARATOR);
-		for (JavaStackTraceEntry st : e.getStackTrace()) {
-			appendTabs(builder, tabs + 2).append("at ")
-					.append(st.getClassName()).append(".")
-					.append(st.getMethodName()).append("(")
-					.append(st.getFileName()).append(":")
-					.append("" + st.getLineNumber()).append(")")
-					.append(LINE_SEPARATOR);
-		}
-		JavaException cause = e.getCause();
-		if (cause != null) {
-			appendTabs(builder, tabs + 2).append("Caused by:").append(
-					LINE_SEPARATOR);
-			printJavaException(cause, tabs + 4, builder);
-		}
-		return builder;
-	}
-
 	public <T extends Appendable> T toString(T builder, int tabs, EObject obj,
 			String... ignores) throws IOException {
 		return toString(builder, tabs, obj, true, ignores);
@@ -259,13 +207,6 @@
 	@SuppressWarnings("rawtypes")
 	public <T extends Appendable> T toString(T builder, int tabs, EObject obj,
 			boolean skipDefaults, String... ignores) throws IOException {
-		if (obj instanceof EclipseStatus) {
-			try {
-				return printStatus((EclipseStatus) obj, tabs, builder);
-			} catch (IOException e) {
-				throw new RuntimeException(e);
-			}
-		}
 		if (obj == null) {
 			return builder;
 		}
diff --git a/watson/org.eclipse.rcptt.watson.core/src/org/eclipse/rcptt/sherlock/core/reporting/internal/EventLogEventProvider.java b/watson/org.eclipse.rcptt.watson.core/src/org/eclipse/rcptt/sherlock/core/reporting/internal/EventLogEventProvider.java
index 9cbfc71..b4de574 100644
--- a/watson/org.eclipse.rcptt.watson.core/src/org/eclipse/rcptt/sherlock/core/reporting/internal/EventLogEventProvider.java
+++ b/watson/org.eclipse.rcptt.watson.core/src/org/eclipse/rcptt/sherlock/core/reporting/internal/EventLogEventProvider.java
@@ -13,9 +13,10 @@
 
 import org.eclipse.core.runtime.ILogListener;
 import org.eclipse.core.runtime.IStatus;
+import org.eclipse.rcptt.ecl.core.ProcessStatus;
+import org.eclipse.rcptt.ecl.core.util.ProcessStatuses;
 import org.eclipse.rcptt.sherlock.core.INodeBuilder;
 import org.eclipse.rcptt.sherlock.core.SherlockCore;
-import org.eclipse.rcptt.sherlock.core.model.sherlock.EclipseStatus;
 import org.eclipse.rcptt.sherlock.core.model.sherlock.report.Event;
 import org.eclipse.rcptt.sherlock.core.model.sherlock.report.ReportFactory;
 import org.eclipse.rcptt.sherlock.core.reporting.AbstractEventProvider;
@@ -43,7 +44,7 @@
 			IReportBuilder[] builders = getListeners();
 			for (IReportBuilder builder : builders) {
 				Event event = ReportFactory.eINSTANCE.createEvent();
-				EclipseStatus data = SherlockCore.convert(status);
+				ProcessStatus data = ProcessStatuses.adapt(status);
 				event.setData(data);
 				builder.getCurrent().createEvent(event);
 			}