Merge remote-tracking branch 'eclipse/xpand2_master' into xpand2_master

Conflicts:
	plugins/org.eclipse.xpand/src/org/eclipse/internal/xpand2/codeassist/KeywordProposalComputer.java
diff --git a/features/org.eclipse.xpand.build-feature/buckminster.cspex b/features/org.eclipse.xpand.build-feature/buckminster.cspex
index 45cdec3..9faafab 100644
--- a/features/org.eclipse.xpand.build-feature/buckminster.cspex
+++ b/features/org.eclipse.xpand.build-feature/buckminster.cspex
@@ -53,39 +53,6 @@
 			<cs:products alias="output" base="${buckminster.output}/zips/" />

 		</cs:public>

 

-		<cs:private name="install.m2t-xpand-runtime.base_1" actor="ant">

-			<cs:actorProperties>

-				<cs:property key="buildFile" value="packaging.ant" />

-				<cs:property key="targets" value="install.ius" />

-			</cs:actorProperties>

-			<cs:properties>

-				<cs:property key="content.ius" value="org.eclipse.xpand,org.eclipse.xpand.activities" />

-				<cs:property key="prerequisite.ius" value="org.eclipse.xtend" />

-			</cs:properties>

-			<cs:prerequisites>

-				<cs:attribute name="site.p2" alias="repository" />

-				<cs:attribute name="site.tp" alias="target.platform.repository" />

-			</cs:prerequisites>

-			<cs:products alias="output" base="${buckminster.temp}/m2t-xpand-runtime.base_1" />

-		</cs:private>

-

-		<cs:private name="install.m2t-xpand-runtime.base_0" actor="ant">

-			<cs:actorProperties>

-				<cs:property key="buildFile" value="packaging.ant" />

-				<cs:property key="targets" value="install.ius" />

-			</cs:actorProperties>

-			<cs:properties>

-				<cs:property key="content.ius"

-					value="org.eclipse.xpand.ui.feature.group" />

-				<cs:property key="prerequisite.ius" value="org.eclipse.xtend.ui.feature.group" />

-			</cs:properties>

-			<cs:prerequisites>

-				<cs:attribute name="site.p2" alias="repository" />

-				<cs:attribute name="site.tp" alias="target.platform.repository" />

-				<cs:attribute name="install.m2t-xpand-runtime.base_1" alias="prerequisites.base" />

-			</cs:prerequisites>

-			<cs:products alias="output" base="${buckminster.temp}/m2t-xpand-runtime.base_0" />

-		</cs:private>

 

 		<cs:public name="package.m2t-xpand-runtime" actor="ant">

 			<cs:actorProperties>

@@ -94,14 +61,12 @@
 			</cs:actorProperties>

 			<cs:properties>

 				<cs:property key="content.ius"

-					value="org.eclipse.xpand.ui.feature.group,org.eclipse.xpand.support.feature.group" />

-				<cs:property key="prerequisite.ius" value="org.eclipse.xtend.ui.feature.group,org.eclipse.xpand.sdk.feature.group" />

+					value="org.eclipse.xpand.ui.feature.group,org.eclipse.xtend.ui.feature.group,org.eclipse.xtend.typesystem.uml2.feature.group,org.eclipse.xtend.typesystem.xsd.feature.group" />

 				<cs:property key="package.name" value="m2t-xpand-runtime" />

 			</cs:properties>

 			<cs:prerequisites>

 				<cs:attribute name="site.p2" alias="repository" />

 				<cs:attribute name="site.tp" alias="target.platform.repository" />

-				<cs:attribute name="install.m2t-xpand-runtime.base_0" alias="prerequisites.base" />

 			</cs:prerequisites>

 			<cs:products alias="output" base="${buckminster.output}/zips/" />

 		</cs:public>

@@ -124,23 +89,6 @@
 			<cs:products alias="output" base="${buckminster.output}/zips/" />

 		</cs:public>

 		

-		<cs:public name="package.m2t-xpand-tests" actor="ant">

-			<cs:actorProperties>

-				<cs:property key="buildFile" value="packaging.ant" />

-				<cs:property key="targets" value="package.ius" />

-			</cs:actorProperties>

-			<cs:properties>

-				<cs:property key="content.ius"

-					value="org.eclipse.xpand.tests.feature.group,org.eclipse.xpand.tests.source.feature.group" />

-				<cs:property key="prerequisite.ius" value="org.eclipse.xpand.sdk.feature.group" />

-				<cs:property key="package.name" value="m2t-xpand-Automated-Tests" />

-			</cs:properties>

-			<cs:prerequisites>

-				<cs:attribute name="site.p2" alias="repository" />

-				<cs:attribute name="site.tp" alias="target.platform.repository" />

-			</cs:prerequisites>

-			<cs:products alias="output" base="${buckminster.output}/zips/" />

-		</cs:public>

 		<!-- <cs:public name="tag" actor="buckminster.tag"> <cs:actorProperties> <cs:property key="tag" value="build_${build.id}" 

 			/> <cs:property key="exclude.0" value="^org\.eclipse\.test$" /> <cs:property key="exclude.1" value="^org\.eclipse\.ant\.optional\.junit$" 

 			/> </cs:actorProperties> </cs:public> -->

diff --git a/features/org.eclipse.xpand.tests-feature/feature.xml b/features/org.eclipse.xpand.tests-feature/feature.xml
index 7773c13..aaa5443 100644
--- a/features/org.eclipse.xpand.tests-feature/feature.xml
+++ b/features/org.eclipse.xpand.tests-feature/feature.xml
@@ -84,4 +84,11 @@
          version="0.0.0"
          unpack="false"/>
 
+   <plugin
+         id="org.eclipse.xtend.typesystem.uml2.tests"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
 </feature>
diff --git a/plugins/org.eclipse.xpand.incremental/src/org/eclipse/xpand2/incremental/IncrementalGenerationCallback.java b/plugins/org.eclipse.xpand.incremental/src/org/eclipse/xpand2/incremental/IncrementalGenerationCallback.java
index 69cfb82..5e42355 100644
--- a/plugins/org.eclipse.xpand.incremental/src/org/eclipse/xpand2/incremental/IncrementalGenerationCallback.java
+++ b/plugins/org.eclipse.xpand.incremental/src/org/eclipse/xpand2/incremental/IncrementalGenerationCallback.java
@@ -49,19 +49,19 @@
 	private OutputFile currentOutputFile;
 	// an array of EObject[2] where target object at index 0 and feature is at index 1
 	private EObject[][] changedElements;
-	
+
 	public void setDiffModelSlot(String diffModelSlot) {
 		this.diffModelSlot = diffModelSlot;
 	}
-	
+
 	public void setOldTraceModelSlot(String oldTraceModelSlot) {
 		this.oldTraceModelSlot = oldTraceModelSlot;
 	}
-	
+
 	public void setNewTraceModelSlot(String newTraceModelSlot) {
 		this.newTraceModelSlot = newTraceModelSlot;
 	}
-	
+
 	@Override
 	protected void checkConfigurationInternal(Issues issues) {
 		super.checkConfigurationInternal(issues);
@@ -73,9 +73,9 @@
 		}
 		if (newTraceModelSlot == null) {
 			issues.addError("No newTraceModelSlot given. Cannot do incremental generation.");
-		}		
+		}
 	}
-	
+
 	@Override
 	public void invokeInternal(WorkflowContext workflowContext, ProgressMonitor monitor, Issues issues) {
 		diffModel = (Comparison) workflowContext.get(diffModelSlot);
@@ -91,7 +91,7 @@
 		newTraceModel = TraceFactory.eINSTANCE.createTrace();
 		workflowContext.set(newTraceModelSlot, newTraceModel);
 	}
-	
+
 	/**
 	 * Collects the relevant information out of the diff model. This speeds up later processing.
 	 */
@@ -110,7 +110,7 @@
 				// TODO: How to handle this?
 			}
 		}
-		
+
 		changedElements = elements.toArray(new EObject[2][0]);
 	}
 
@@ -127,7 +127,7 @@
 	private boolean handleFileStatement(FileStatement fileStatement, ExecutionContext ctx) {
 		String fileName = fileStatement.getTargetFileName().evaluate(ctx).toString();
 		String outletName = fileStatement.getOutletName();
-		
+
 		// sanity check:
 		if (fileName == null) {
 			return true;
@@ -144,7 +144,7 @@
 			currentOutputFile.setTargetObject((EObject) ctx.getVariable(ExecutionContext.IMPLICIT_VARIABLE).getValue());
 			newTraceModel.getOutputFiles().add(currentOutputFile);
 			// yes, we definitely want to generate this file.
-			return true;			
+			return true;
 		} else {
 			// it seems we don't have to generate this file
 			// copy the trace information over into the new trace model
@@ -158,11 +158,11 @@
 			return false;
 		}
 	}
-	
+
 	/**
 	 * Checks if the changes contained in the diff imply that the given file
 	 * has to be generated.
-	 * 
+	 *
 	 * @param oldFileTrace The old trace information for the file to check. Must not be null.
 	 * @return true if the file has to be generated, false if not.
 	 */
@@ -171,9 +171,9 @@
 		if (changedElements == null) {
 			return true;
 		}
-		
+
 		for (EObject[] diff : changedElements) {
-			for (InputElement input : oldFileTrace.getInputElements()) {			
+			for (InputElement input : oldFileTrace.getInputElements()) {
 				if (new EqualityHelper().equals(diff[0], input.getModelElement()) &&
 						new EqualityHelper().equals(diff[1], input.getFeature())) {
 					// abort at first change
@@ -181,7 +181,7 @@
 				}
 			}
 		}
-		
+
 		// no change found
 		return false;
 	}
@@ -197,7 +197,7 @@
 		if (oldTraceModel == null) {
 			return null;
 		}
-		
+
 		// now check each file in the trace
 		for (OutputFile f : oldTraceModel.getOutputFiles()) {
 			if (f.getFileName().equals(fileName) &&
@@ -205,7 +205,7 @@
 				return f;
 			}
 		}
-		
+
 		return null;
 	}
 
@@ -218,10 +218,10 @@
 			if (featureCall.getTarget() != null) {
 				target = featureCall.getTarget().evaluate(ctx);
 			}
-			if (target == null && ctx.getVariable(ExecutionContext.IMPLICIT_VARIABLE) != null) { 
+			if (target == null && ctx.getVariable(ExecutionContext.IMPLICIT_VARIABLE) != null) {
 				target = ctx.getVariable(ExecutionContext.IMPLICIT_VARIABLE).getValue();
 			}
-			
+
 			String featureName = currentFeature.getNameString(ctx);
 			if (target instanceof EObject) {
 				EObject targetObject = (EObject) target;
@@ -235,7 +235,7 @@
 				}
 			}
 		}
-		
+
 		return true;
 	}
 
@@ -245,7 +245,7 @@
 			addInputElement(targetObject, feature);
 		}
 	}
-	
+
 	private void addInputElement(EObject target, EStructuralFeature feature) {
 		// check for duplicates first
 		for (InputElement e : currentOutputFile.getInputElements()) {
diff --git a/plugins/org.eclipse.xpand/.settings/.api_filters b/plugins/org.eclipse.xpand/.settings/.api_filters
index 85a762c..a57cf2c 100644
--- a/plugins/org.eclipse.xpand/.settings/.api_filters
+++ b/plugins/org.eclipse.xpand/.settings/.api_filters
@@ -1,2723 +1,3 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <component id="org.eclipse.xpand" version="2">
-    <resource path="src/org/eclipse/internal/xpand2/ast/AbstractXpandVisitor.java" type="org.eclipse.internal.xpand2.ast.AbstractXpandVisitor">
-        <filter id="338792546">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.ast.AbstractXpandVisitor"/>
-                <message_argument value="visitChild(SyntaxElement)"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="visitChild(ISyntaxElement)"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="visitExtensionImportDeclaration(ExtensionImportDeclaration)"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/internal/xpand2/parser/XpandLexer.java" type="org.eclipse.internal.xpand2.parser.XpandLexer">
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandLexer"/>
-                <message_argument value="dfa16"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="dfa15"/>
-            </message_arguments>
-        </filter>
-    </resource>
-    <resource path="src/org/eclipse/internal/xpand2/parser/XpandParser.java">
-        <filter id="0"/>
-    </resource>
-    <resource path="src/org/eclipse/internal/xpand2/parser/XpandParser.java" type="org.eclipse.internal.xpand2.parser.XpandParser">
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_100_in_collectionType2658"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_20_in_anImport155"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_21_in_anExtensionImport184"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_22_in_around215"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_23_in_around225"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_23_in_castedExpression1316"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_23_in_collectionExpression2368"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_23_in_collectionExpression2437"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_23_in_define365"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_23_in_expandStatement682"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_23_in_featureCall2145"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_23_in_paranthesizedExpression2077"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_23_in_switchExpression1475"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_23_in_synpred1_Xpand1305"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_24_in_around233"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_24_in_declaredParameterList2488"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_24_in_parameterList2551"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_25_in_around237"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_25_in_around246"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_25_in_pointcut302"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_25_in_pointcut317"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_26_in_around250"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_26_in_castedExpression1322"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_26_in_collectionExpression2374"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_26_in_collectionExpression2452"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_26_in_define371"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_26_in_expandStatement688"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_26_in_featureCall2154"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_26_in_paranthesizedExpression2083"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_26_in_switchExpression1483"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_26_in_synpred1_Xpand1309"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_27_in_around254"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_27_in_define375"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_27_in_expandStatement694"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_28_in_around271"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_29_in_pointcut329"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_29_in_simpleType2694"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_30_in_define358"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_31_in_define393"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_32_in_text572"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_32_in_unaryExpression1893"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_33_in_errorStatement646"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_34_in_expandStatement675"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_35_in_expandStatement708"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_35_in_foreachStatement868"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_36_in_expandStatement715"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_36_in_foreachStatement890"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_37_in_expandStatement731"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_38_in_fileStatement819"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_39_in_fileStatement840"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_40_in_foreachStatement874"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_40_in_letStatement1090"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_41_in_foreachStatement881"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_42_in_foreachStatement909"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_43_in_ifStatement940"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_44_in_ifStatement985"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_45_in_elseIfStatement1008"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_46_in_elseStatement1048"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_47_in_letStatement1084"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_48_in_letStatement1107"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_49_in_protectStatement1135"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_50_in_protectStatement1140"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_51_in_protectStatement1149"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_52_in_protectStatement1166"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_53_in_protectStatement1175"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_54_in_protectStatement1188"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_55_in_letExpression1247"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_56_in_letExpression1253"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_57_in_ifExpression1413"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_57_in_letExpression1259"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_57_in_switchExpression1510"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_57_in_switchExpression1535"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_58_in_chainExpression1369"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_59_in_ifExpression1407"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_60_in_ifExpression1425"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_61_in_ifExpression1431"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_62_in_ifExpression1438"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_63_in_switchExpression1472"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_64_in_listLiteral2201"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_64_in_switchExpression1490"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_65_in_switchExpression1503"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_66_in_switchExpression1533"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_67_in_listLiteral2210"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_67_in_switchExpression1546"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_68_in_orExpression1594"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_69_in_andExpression1637"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_70_in_impliesExpression1679"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_79_in_unaryExpression1881"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_80_in_infixExpression1930"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_80_in_numberLiteral2331"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_81_in_globalVarExpression2112"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_82_in_constructorCall2235"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_85_in_nullLiteral2291"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_86_in_collectionExpression2364"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_95_in_collectionExpression2444"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_99_in_collectionType2650"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_COMMENT_in_template117"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_COMMENT_in_template89"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_COMMENT_in_textSequence539"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_Identifier_in_identifier2729"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_IntLiteral_in_numberLiteral2318"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_IntLiteral_in_numberLiteral2327"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_IntLiteral_in_numberLiteral2335"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_StringLiteral_in_primaryExpression1969"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_TEXT_in_template114"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_TEXT_in_template119"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_TEXT_in_template62"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_TEXT_in_template86"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_TEXT_in_template91"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_TEXT_in_text578"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_additiveExpression_in_relationalExpression1715"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_additiveExpression_in_relationalExpression1749"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_anExtensionImport_in_template81"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_anImport_in_template72"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_andExpression_in_orExpression1587"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_andExpression_in_orExpression1598"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_around_in_template110"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_booleanLiteral_in_primaryExpression1990"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_castedExpression_in_letExpression1257"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_castedExpression_in_letExpression1276"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_castedExpression_in_synpred1_Xpand1311"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_chainExpression_in_castedExpression1326"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_chainExpression_in_castedExpression1335"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_collectionExpression_in_featureCall2175"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_collectionType_in_type2589"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_constructorCall_in_primaryExpression2030"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_declaredParameterList_in_around230"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_declaredParameterList_in_define369"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_declaredParameter_in_declaredParameterList2484"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_declaredParameter_in_declaredParameterList2492"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_define_in_template103"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_definitionName_in_expandStatement679"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_elseIfStatement_in_ifStatement962"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_elseStatement_in_ifStatement973"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_errorStatement_in_simpleStatement605"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_expandStatement_in_simpleStatement613"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_expressionStmt_in_simpleStatement621"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_expression_in_collectionExpression2450"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_expression_in_elseIfStatement1012"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_expression_in_errorStatement650"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_expression_in_expandStatement698"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_expression_in_expandStatement712"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_expression_in_expandStatement719"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_expression_in_expressionStmt794"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_expression_in_fileStatement823"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_expression_in_foreachStatement872"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_expression_in_foreachStatement894"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_expression_in_ifExpression1442"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_expression_in_ifStatement944"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_expression_in_letExpression1263"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_expression_in_letStatement1088"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_expression_in_parameterList2546"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_expression_in_parameterList2555"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_expression_in_paranthesizedExpression2081"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_expression_in_protectStatement1144"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_expression_in_protectStatement1153"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_expression_in_protectStatement1170"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_featureCall_in_infixExpression1934"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_featureCall_in_primaryExpression1980"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_fileStatement_in_statement481"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_foreachStatement_in_statement489"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_globalVarExpression_in_primaryExpression2040"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_identifier_in_collectionExpression2442"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_identifier_in_declaredParameter2524"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_identifier_in_define362"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_identifier_in_featureCall2143"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_identifier_in_fileStatement828"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_identifier_in_foreachStatement878"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_identifier_in_foreachStatement885"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_identifier_in_globalVarExpression2116"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_identifier_in_letExpression1251"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_identifier_in_letStatement1094"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_identifier_in_pointcut308"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_identifier_in_pointcut323"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_identifier_in_simpleType2686"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_identifier_in_simpleType2698"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_ifExpression_in_chainExpression1363"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_ifStatement_in_statement497"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_impliesExpression_in_andExpression1630"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_impliesExpression_in_andExpression1641"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_infixExpression_in_unaryExpression1873"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_infixExpression_in_unaryExpression1885"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_infixExpression_in_unaryExpression1897"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_letExpression_in_expression1219"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_letStatement_in_statement505"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_listLiteral_in_primaryExpression2020"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_multiplicativeExpression_in_additiveExpression1778"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_multiplicativeExpression_in_additiveExpression1797"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_nullLiteral_in_primaryExpression2010"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_numberLiteral_in_primaryExpression2000"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_orExpression_in_switchExpression1481"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_orExpression_in_switchExpression1507"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_orExpression_in_switchExpression1515"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_orExpression_in_switchExpression1541"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_orExpression_in_switchExpression1558"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_parameterList_in_expandStatement686"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_parameterList_in_featureCall2150"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_parameterList_in_listLiteral2206"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_paranthesizedExpression_in_primaryExpression2050"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_pointcut_in_around219"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_primaryExpression_in_infixExpression1924"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_protectStatement_in_statement513"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_relationalExpression_in_impliesExpression1672"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_relationalExpression_in_impliesExpression1683"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_sequence_in_around266"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_sequence_in_define387"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_sequence_in_elseIfStatement1018"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_sequence_in_elseStatement1054"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_sequence_in_fileStatement836"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_sequence_in_foreachStatement904"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_sequence_in_ifStatement950"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_sequence_in_letStatement1102"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_sequence_in_protectStatement1184"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_set_in_additiveExpression1788"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_set_in_collectionExpression2387"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_set_in_collectionType2629"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_set_in_multiplicativeExpression1834"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_set_in_relationalExpression1723"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_simpleStatement_in_statement473"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_simpleType_in_anExtensionImport188"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_simpleType_in_anImport159"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_simpleType_in_collectionType2654"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_simpleType_in_constructorCall2239"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_simpleType_in_definitionName767"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_simpleType_in_type2599"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_statement_in_sequence426"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_switchExpression_in_ifExpression1403"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_switchExpression_in_ifExpression1411"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_switchExpression_in_ifExpression1417"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_switchExpression_in_ifExpression1429"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_switchExpression_in_ifExpression1435"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_textSequence_in_sequence417"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_textSequence_in_sequence435"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_text_in_textSequence532"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_text_in_textSequence543"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_type_in_around258"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_type_in_castedExpression1320"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_type_in_collectionExpression2372"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_type_in_declaredParameter2520"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_type_in_define379"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_type_in_featureCall2164"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_type_in_synpred1_Xpand1307"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_unaryExpression_in_multiplicativeExpression1826"/>
-            </message_arguments>
-        </filter>
-        <filter id="338755678">
-            <message_arguments>
-                <message_argument value="org.eclipse.internal.xpand2.parser.XpandParser"/>
-                <message_argument value="FOLLOW_unaryExpression_in_multiplicativeExpression1844"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_100_in_collectionType2668"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_20_in_anImport165"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_21_in_anExtensionImport194"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_22_in_around225"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_23_in_around235"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_23_in_castedExpression1326"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_23_in_collectionExpression2378"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_23_in_collectionExpression2447"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_23_in_define375"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_23_in_expandStatement692"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_23_in_featureCall2155"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_23_in_paranthesizedExpression2087"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_23_in_switchExpression1485"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_23_in_synpred1_Xpand1315"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_24_in_around243"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_24_in_declaredParameterList2498"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_24_in_parameterList2561"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_25_in_around247"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_25_in_around256"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_25_in_pointcut312"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_25_in_pointcut327"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_26_in_around260"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_26_in_castedExpression1332"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_26_in_collectionExpression2384"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_26_in_collectionExpression2462"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_26_in_define381"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_26_in_expandStatement698"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_26_in_featureCall2164"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_26_in_paranthesizedExpression2093"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_26_in_switchExpression1493"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_26_in_synpred1_Xpand1319"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_27_in_around264"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_27_in_define385"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_27_in_expandStatement704"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_28_in_around281"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_29_in_pointcut339"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_29_in_simpleType2704"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_30_in_define368"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_31_in_define403"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_32_in_text582"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_32_in_unaryExpression1903"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_33_in_errorStatement656"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_34_in_expandStatement685"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_35_in_expandStatement718"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_35_in_foreachStatement878"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_36_in_expandStatement725"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_36_in_foreachStatement900"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_37_in_expandStatement741"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_38_in_fileStatement829"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_39_in_fileStatement850"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_40_in_foreachStatement884"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_40_in_letStatement1100"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_41_in_foreachStatement891"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_42_in_foreachStatement919"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_43_in_ifStatement950"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_44_in_ifStatement995"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_45_in_elseIfStatement1018"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_46_in_elseStatement1058"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_47_in_letStatement1094"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_48_in_letStatement1117"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_49_in_protectStatement1145"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_50_in_protectStatement1150"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_51_in_protectStatement1159"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_52_in_protectStatement1176"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_53_in_protectStatement1185"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_54_in_protectStatement1198"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_55_in_letExpression1257"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_56_in_letExpression1263"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_57_in_ifExpression1423"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_57_in_letExpression1269"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_57_in_switchExpression1520"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_57_in_switchExpression1545"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_58_in_chainExpression1379"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_59_in_ifExpression1417"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_60_in_ifExpression1435"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_61_in_ifExpression1441"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_62_in_ifExpression1448"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_63_in_switchExpression1482"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_64_in_listLiteral2211"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_64_in_switchExpression1500"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_65_in_switchExpression1513"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_66_in_switchExpression1543"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_67_in_listLiteral2220"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_67_in_switchExpression1556"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_68_in_orExpression1604"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_69_in_andExpression1647"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_70_in_impliesExpression1689"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_79_in_unaryExpression1891"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_80_in_infixExpression1940"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_80_in_numberLiteral2341"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_81_in_globalVarExpression2122"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_82_in_constructorCall2245"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_85_in_nullLiteral2301"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_86_in_collectionExpression2374"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_95_in_collectionExpression2454"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_99_in_collectionType2660"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_COMMENT_in_template125"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_COMMENT_in_template93"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_COMMENT_in_textSequence549"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_Identifier_in_identifier2739"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_IntLiteral_in_numberLiteral2328"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_IntLiteral_in_numberLiteral2337"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_IntLiteral_in_numberLiteral2345"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_StringLiteral_in_primaryExpression1979"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_TEXT_in_text588"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_additiveExpression_in_relationalExpression1725"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_additiveExpression_in_relationalExpression1759"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_anExtensionImport_in_template83"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_anImport_in_template74"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_andExpression_in_orExpression1597"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_andExpression_in_orExpression1608"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_around_in_template116"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_booleanLiteral_in_primaryExpression2000"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_castedExpression_in_letExpression1267"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_castedExpression_in_letExpression1286"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_castedExpression_in_synpred1_Xpand1321"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_chainExpression_in_castedExpression1336"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_chainExpression_in_castedExpression1345"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_collectionExpression_in_featureCall2185"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_collectionType_in_type2599"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_constructorCall_in_primaryExpression2040"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_declaredParameterList_in_around240"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_declaredParameterList_in_define379"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_declaredParameter_in_declaredParameterList2494"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_declaredParameter_in_declaredParameterList2502"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_define_in_template109"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_definitionName_in_expandStatement689"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_elseIfStatement_in_ifStatement972"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_elseStatement_in_ifStatement983"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_errorStatement_in_simpleStatement615"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_expandStatement_in_simpleStatement623"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_expressionStmt_in_simpleStatement631"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_expression_in_collectionExpression2460"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_expression_in_elseIfStatement1022"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_expression_in_errorStatement660"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_expression_in_expandStatement708"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_expression_in_expandStatement722"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_expression_in_expandStatement729"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_expression_in_expressionStmt804"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_expression_in_fileStatement833"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_expression_in_foreachStatement882"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_expression_in_foreachStatement904"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_expression_in_ifExpression1452"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_expression_in_ifStatement954"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_expression_in_letExpression1273"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_expression_in_letStatement1098"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_expression_in_parameterList2556"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_expression_in_parameterList2565"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_expression_in_paranthesizedExpression2091"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_expression_in_protectStatement1154"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_expression_in_protectStatement1163"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_expression_in_protectStatement1180"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_featureCall_in_infixExpression1944"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_featureCall_in_primaryExpression1990"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_fileStatement_in_statement491"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_foreachStatement_in_statement499"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_globalVarExpression_in_primaryExpression2050"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_identifier_in_collectionExpression2452"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_identifier_in_declaredParameter2534"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_identifier_in_define372"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_identifier_in_featureCall2153"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_identifier_in_fileStatement838"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_identifier_in_foreachStatement888"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_identifier_in_foreachStatement895"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_identifier_in_globalVarExpression2126"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_identifier_in_letExpression1261"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_identifier_in_letStatement1104"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_identifier_in_pointcut318"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_identifier_in_pointcut333"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_identifier_in_simpleType2696"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_identifier_in_simpleType2708"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_ifExpression_in_chainExpression1383"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_ifStatement_in_statement507"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_impliesExpression_in_andExpression1640"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_impliesExpression_in_andExpression1651"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_infixExpression_in_unaryExpression1883"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_infixExpression_in_unaryExpression1895"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_infixExpression_in_unaryExpression1907"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_letExpression_in_expression1229"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_letStatement_in_statement515"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_listLiteral_in_primaryExpression2030"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_multiplicativeExpression_in_additiveExpression1788"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_multiplicativeExpression_in_additiveExpression1807"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_nullLiteral_in_primaryExpression2020"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_numberLiteral_in_primaryExpression2010"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_orExpression_in_switchExpression1491"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_orExpression_in_switchExpression1517"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_orExpression_in_switchExpression1525"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_orExpression_in_switchExpression1551"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_orExpression_in_switchExpression1568"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_parameterList_in_expandStatement696"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_parameterList_in_featureCall2160"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_parameterList_in_listLiteral2216"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_paranthesizedExpression_in_primaryExpression2060"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_pointcut_in_around229"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_primaryExpression_in_infixExpression1934"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_protectStatement_in_statement523"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_relationalExpression_in_impliesExpression1682"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_relationalExpression_in_impliesExpression1693"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_sequence_in_around276"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_sequence_in_define397"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_sequence_in_elseIfStatement1028"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_sequence_in_elseStatement1064"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_sequence_in_fileStatement846"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_sequence_in_foreachStatement914"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_sequence_in_ifStatement960"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_sequence_in_letStatement1112"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_sequence_in_protectStatement1194"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_set_in_additiveExpression1798"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_set_in_collectionExpression2397"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_set_in_collectionType2639"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_set_in_multiplicativeExpression1844"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_set_in_relationalExpression1733"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_simpleStatement_in_statement483"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_simpleType_in_anExtensionImport198"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_simpleType_in_anImport169"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_simpleType_in_collectionType2664"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_simpleType_in_constructorCall2249"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_simpleType_in_definitionName777"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_simpleType_in_type2609"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_statement_in_sequence436"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_switchExpression_in_ifExpression1413"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_switchExpression_in_ifExpression1421"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_switchExpression_in_ifExpression1427"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_switchExpression_in_ifExpression1439"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_switchExpression_in_ifExpression1445"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_textSequence_in_sequence427"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_textSequence_in_sequence445"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_text_in_template122"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_text_in_template129"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_text_in_template64"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_text_in_template90"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_text_in_template97"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_text_in_textSequence542"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_text_in_textSequence553"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_type_in_around268"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_type_in_castedExpression1330"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_type_in_collectionExpression2382"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_type_in_declaredParameter2530"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_type_in_define389"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_type_in_featureCall2174"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_type_in_synpred1_Xpand1317"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_unaryExpression_in_multiplicativeExpression1836"/>
-            </message_arguments>
-        </filter>
-        <filter id="1143996420">
-            <message_arguments>
-                <message_argument value="FOLLOW_unaryExpression_in_multiplicativeExpression1854"/>
-            </message_arguments>
-        </filter>
-    </resource>
 </component>
diff --git a/plugins/org.eclipse.xpand/src/org/eclipse/internal/xpand2/codeassist/KeywordProposalComputer.java b/plugins/org.eclipse.xpand/src/org/eclipse/internal/xpand2/codeassist/KeywordProposalComputer.java
index f93cd7c..2f664e4 100644
--- a/plugins/org.eclipse.xpand/src/org/eclipse/internal/xpand2/codeassist/KeywordProposalComputer.java
+++ b/plugins/org.eclipse.xpand/src/org/eclipse/internal/xpand2/codeassist/KeywordProposalComputer.java
@@ -22,7 +22,7 @@
 import org.eclipse.xtend.expression.ExecutionContext;
 
 /**
- * Responsible for proposals of Xpand keywords.
+ * Responsible for proposals of Xpand keywords. 
  */
 public class KeywordProposalComputer implements ProposalComputer {
 
@@ -67,9 +67,8 @@
     private String getInsertionSuffix (final String keyword) {
     	if (keyword.startsWith("END") || XpandTokens.REM.equals(keyword)) {
     		return XpandTokens.RT;
-    	} else {
-    		return " ";
     	}
+		return " ";
     }
 
 }
diff --git a/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/BlankLineSkippingOutput.java b/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/BlankLineSkippingOutput.java
index 2d6dc12..475a1e5 100644
--- a/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/BlankLineSkippingOutput.java
+++ b/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/BlankLineSkippingOutput.java
@@ -11,9 +11,11 @@
  *******************************************************************************/
 package org.eclipse.xpand2.output;
 
+import java.io.IOException;
+
 /**
  * This output implementation avoids writing of unnecessary blank lines.
- * 
+ *
  * @author Karsten Thoms
  */
 public class BlankLineSkippingOutput extends OutputImpl {
@@ -22,10 +24,14 @@
 	@Override
 	public void write(final String bytes) {
 		if (current() != null && bytes != null && bytes.length() > 0) {
-			StringBuffer outputBuffer = (StringBuffer) current().getBuffer();
+			CharSequence outputBuffer = current().getBuffer();
 			int idxNL = bytes.indexOf(NEWLINE);
 			if (idxNL < 0) {
-				outputBuffer.append(bytes);
+				try {
+					((Appendable)outputBuffer).append(bytes);
+				} catch (IOException e) {
+					throw new RuntimeException(e);
+				}
 				return;
 			}
 
@@ -40,10 +46,15 @@
 				s = s.substring(i);
 				idxNL = s.indexOf(NEWLINE);
 			}
-			outputBuffer.append((idxNL < s.length() - 1) ? s.substring(0, idxNL + 1) : s);
+			try {
+				((Appendable)outputBuffer).append((idxNL < s.length() - 1) ? s.substring(0, idxNL + 1) : s);
+			} catch (IOException e) {
+				throw new RuntimeException(e);
+			}
 			if (idxNL + 1 < s.length()) {
 				write(s.substring(idxNL + 1));
 			}
 		}
 	}
+
 }
diff --git a/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/FileHandleImpl.java b/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/FileHandleImpl.java
index 3dfc321..e270e4e 100644
--- a/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/FileHandleImpl.java
+++ b/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/FileHandleImpl.java
@@ -54,20 +54,19 @@
 	public CharSequence getBuffer() {
 		if (!namedBuffers.isEmpty()) {
 			return currentNamedBuffer!=null ? currentNamedBuffer : currentUnnamedBuffer;
-		} else {
-			if (buffers.size()>1) {
-				// no insertion point used anymore, but multiple buffers available
-				// => compact to one buffer again
-				StringBuilder compacted = new StringBuilder();
-				for (CharSequence cs : buffers) {
-					compacted.append(cs);
-				}
-				buffers.clear();
-				buffers.add(compacted);
-				currentUnnamedBuffer = compacted;
-			}
-			return buffers.get(0);
 		}
+		if (buffers.size()>1) {
+			// no insertion point used anymore, but multiple buffers available
+			// => compact to one buffer again
+			StringBuilder compacted = new StringBuilder();
+			for (CharSequence cs : buffers) {
+				compacted.append(cs);
+			}
+			buffers.clear();
+			buffers.add(compacted);
+			currentUnnamedBuffer = compacted;
+		}
+		return buffers.get(0);
 	}
 
 	public void setBuffer(final CharSequence newBuffer) {
@@ -112,7 +111,6 @@
 		return outlet.getFileEncoding();
 	}
 
-	@SuppressWarnings("deprecation")
 	public void writeAndClose() {
 		try {
 			if (!isOverwrite() && targetFile.exists()) {
diff --git a/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/FileInfoLogger.java b/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/FileInfoLogger.java
index 7fa2ffc..cea0a26 100644
--- a/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/FileInfoLogger.java
+++ b/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/FileInfoLogger.java
@@ -26,7 +26,7 @@
  * {2} : LOC current file
  * {3} : LOC total
  * {4} : Number of files written by this postprocessor
- * 
+ *
  * Log Level
  * 0 = Trace
  * 1 = Debug
@@ -40,6 +40,7 @@
     private int logLevel = 2;
 
     public void afterClose(FileHandle handle) {
+    	// nothing to do here
     }
 
     public void beforeWriteAndClose(FileHandle handle) {
@@ -53,21 +54,21 @@
 	            }
 	            loc += lines;
         	}
-        	
+
             files++;
 
             switch (logLevel) {
-            case 2: 
+            case 2:
                 if (LOG.isInfoEnabled()) {
                     LOG.info(getLogMessage(handle, lines));
                 }
                 break;
-            case 1: 
+            case 1:
                 if (LOG.isDebugEnabled()) {
                     LOG.debug(getLogMessage(handle, lines));
                 }
                 break;
-            case 0: 
+            case 0:
                 if (LOG.isTraceEnabled()) {
                     LOG.trace(getLogMessage(handle, lines));
                 }
diff --git a/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/OutputImpl.java b/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/OutputImpl.java
index 44b56ee..9ac5df4 100644
--- a/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/OutputImpl.java
+++ b/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/OutputImpl.java
@@ -22,7 +22,7 @@
 
 /**
  * *
- * 
+ *
  * @author Sven Efftinge (http://www.efftinge.de) *
  */
 public class OutputImpl implements Output, InsertionPointSupport {
@@ -43,9 +43,7 @@
       if (outlet.getName() == null) {
         throw new IllegalArgumentException("A default outlet is already registered!");
       }
-      else {
-        throw new IllegalArgumentException("An outlet with name " + outlet.getName() + " is already registered!");
-      }
+	throw new IllegalArgumentException("An outlet with name " + outlet.getName() + " is already registered!");
     }
     this.outlets.put(outlet.getName(), outlet);
   }
diff --git a/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/XmlBeautifier.java b/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/XmlBeautifier.java
deleted file mode 100644
index 5be7224..0000000
--- a/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/output/XmlBeautifier.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 committers of openArchitectureWare 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:
- *     committers of openArchitectureWare - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.xpand2.output;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-/**
- * 
- * 
- * @author Sven Efftinge (http://www.efftinge.de)
- * @author Bernd Kolb
- * @deprecated Use the org.eclipse.xtend.typesystem.xsd.XMLBeautifier from XSD Feature instead. 
- */
-@Deprecated
-public class XmlBeautifier implements PostProcessor {
-
-	private final Log log = LogFactory.getLog(getClass());
-
-	public void beforeWriteAndClose(final FileHandle info) {
-		log.error("Use the XmlBeautifier from XSD Feature: org.eclipse.xtend.typesystem.xsd.XMLBeautifier instead.");
-	}
-
-	public void afterClose(final FileHandle impl) {
-	}
-
-}
diff --git a/plugins/org.eclipse.xtend.shared.ui/.settings/.api_filters b/plugins/org.eclipse.xtend.shared.ui/.settings/.api_filters
deleted file mode 100644
index 869f0b5..0000000
--- a/plugins/org.eclipse.xtend.shared.ui/.settings/.api_filters
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<component id="org.eclipse.xtend.shared.ui" version="2">
-    <resource path="META-INF/MANIFEST.MF">
-        <filter id="924844039">
-            <message_arguments>
-                <message_argument value="1.4.0"/>
-                <message_argument value="1.4.0"/>
-            </message_arguments>
-        </filter>
-    </resource>
-</component>
diff --git a/plugins/org.eclipse.xtend.shared.ui/src/org/eclipse/xtend/shared/ui/core/internal/XtendXpandProject.java b/plugins/org.eclipse.xtend.shared.ui/src/org/eclipse/xtend/shared/ui/core/internal/XtendXpandProject.java
index 016d12e..45ef02f 100644
--- a/plugins/org.eclipse.xtend.shared.ui/src/org/eclipse/xtend/shared/ui/core/internal/XtendXpandProject.java
+++ b/plugins/org.eclipse.xtend.shared.ui/src/org/eclipse/xtend/shared/ui/core/internal/XtendXpandProject.java
@@ -489,13 +489,6 @@
 	}
 
 	/**
-	 * {@inheritDoc}
-	 */
-	public IElementChangedListener getElementChangeListener() {
-		return changeListener;
-	}
-
-	/**
 	 * Returns an object which is an instance of the given class associated with
 	 * this object. Returns <code>null</code> if no such object can be found.
 	 * <p>
diff --git a/plugins/org.eclipse.xtend.typesystem.emf.ui/.settings/.api_filters b/plugins/org.eclipse.xtend.typesystem.emf.ui/.settings/.api_filters
index 71cdcc3..ce28b6c 100644
--- a/plugins/org.eclipse.xtend.typesystem.emf.ui/.settings/.api_filters
+++ b/plugins/org.eclipse.xtend.typesystem.emf.ui/.settings/.api_filters
@@ -1,13 +1,5 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <component id="org.eclipse.xtend.typesystem.emf.ui" version="2">
-    <resource path="META-INF/MANIFEST.MF">
-        <filter id="924844039">
-            <message_arguments>
-                <message_argument value="1.4.0"/>
-                <message_argument value="1.4.0"/>
-            </message_arguments>
-        </filter>
-    </resource>
     <resource path="src/org/eclipse/xtend/typesystem/emf/ui/Messages.java" type="org.eclipse.xtend.typesystem.emf.ui.Messages">
         <filter id="1143996420">
             <message_arguments>
diff --git a/plugins/org.eclipse.xtend.typesystem.emf/src/org/eclipse/xtend/typesystem/emf/EClassType.java b/plugins/org.eclipse.xtend.typesystem.emf/src/org/eclipse/xtend/typesystem/emf/EClassType.java
index 5418ad7..8442fd3 100644
--- a/plugins/org.eclipse.xtend.typesystem.emf/src/org/eclipse/xtend/typesystem/emf/EClassType.java
+++ b/plugins/org.eclipse.xtend.typesystem.emf/src/org/eclipse/xtend/typesystem/emf/EClassType.java
@@ -134,6 +134,22 @@
 						}
 					});
 				}
+				// isSet operation for unsettable features
+				if (feature.isUnsettable()) {
+					result.add(new OperationImpl(this, "isSet" + StringHelper.firstUpper(feature.getName()), getTypeSystem().getBooleanType()) {
+						@Override
+						protected Object evaluateInternal(final Object target, final Object[] params) {
+							return ((EObject) target).eIsSet(feature);
+						}
+					});
+					result.add(new OperationImpl(this, "unset" + StringHelper.firstUpper(feature.getName()), getTypeSystem().getVoidType()) {
+						@Override
+						protected Object evaluateInternal(final Object target, final Object[] params) {
+							((EObject) target).eUnset(feature);
+							return null;
+						}
+					});
+				}
 			}
 		}
 		// Operations
diff --git a/plugins/org.eclipse.xtend.typesystem.xsd.ui/src/org/eclipse/xtend/typesystem/xsd/ui/XSDBuilder.java b/plugins/org.eclipse.xtend.typesystem.xsd.ui/src/org/eclipse/xtend/typesystem/xsd/ui/XSDBuilder.java
index 6910b5c..72073b5 100644
--- a/plugins/org.eclipse.xtend.typesystem.xsd.ui/src/org/eclipse/xtend/typesystem/xsd/ui/XSDBuilder.java
+++ b/plugins/org.eclipse.xtend.typesystem.xsd.ui/src/org/eclipse/xtend/typesystem/xsd/ui/XSDBuilder.java
@@ -65,7 +65,6 @@
 //	private Log log = XSDLog.getLog(getClass());
 
 	@Override
-	@SuppressWarnings("unchecked")
 	protected IProject[] build(int kind, Map args, IProgressMonitor monitor)
 			throws CoreException {
 		XSDManager man = XSDToolsPlugin.getDefault().getXSDStore()
diff --git a/plugins/org.eclipse.xtend.ui/src/org/eclipse/xtend/ui/editor/codeassist/XtendContentAssistProcessor.java b/plugins/org.eclipse.xtend.ui/src/org/eclipse/xtend/ui/editor/codeassist/XtendContentAssistProcessor.java
index 0527a41..773d7c2 100644
--- a/plugins/org.eclipse.xtend.ui/src/org/eclipse/xtend/ui/editor/codeassist/XtendContentAssistProcessor.java
+++ b/plugins/org.eclipse.xtend.ui/src/org/eclipse/xtend/ui/editor/codeassist/XtendContentAssistProcessor.java
@@ -15,7 +15,6 @@
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
-import java.util.regex.Pattern;
 
 import org.eclipse.internal.xpand2.codeassist.NamespaceProposalComputer;
 import org.eclipse.internal.xtend.expression.codeassist.ExpressionProposalComputer;
@@ -42,58 +41,62 @@
 /**
  * @author Sven Efftinge (http://www.efftinge.de)
  */
-public class XtendContentAssistProcessor extends AbstractExtXptContentAssistProcessor {
-    private final static Pattern PATTERN_COMMENT_SINGLELINE = Pattern.compile("//.*$", Pattern.MULTILINE);
-    // see http://ostermiller.org/findcomment.html
-    private final static Pattern PATTERN_COMMENT_MULTILINE = Pattern.compile("/\\*(?:.|[\\n\\r])*?\\*/");
-
-
+public class XtendContentAssistProcessor extends
+		AbstractExtXptContentAssistProcessor {
 	public XtendContentAssistProcessor(final IEditorPart editor) {
 		super(editor);
 	}
 
 	@SuppressWarnings("unchecked")
 	@Override
-	protected ICompletionProposal[] internalComputeCompletionProposals(final ITextViewer viewer,
-			final int documentOffset) {
+	protected ICompletionProposal[] internalComputeCompletionProposals(
+			final ITextViewer viewer, final int documentOffset) {
 		String part = viewer.getDocument().get().substring(0, documentOffset);
 		ExecutionContext ctx = Activator.getExecutionContext(getJavaProject());
-		final IXtendXpandResource res = Activator.getExtXptModelManager().findExtXptResource(getFile());
-		List<Extension> extensions = (res instanceof IXtendResource) ? ((IXtendResource) res).getExtensions() : Collections.<Extension>emptyList();
+		final IXtendXpandResource res = Activator.getExtXptModelManager()
+				.findExtXptResource(getFile());
+		List<Extension> extensions = (res instanceof IXtendResource) ? ((IXtendResource) res)
+				.getExtensions() : Collections.<Extension> emptyList();
 		if (FastAnalyzer.isInsideComment(part)) {
-			return new ICompletionProposal[0]; // early return; no proposals inside comments
+			return new ICompletionProposal[0]; // early return; no proposals
+												// inside comments
 		}
 		// empty string contents and strip off comments
 		// part = FastAnalyzer.reduce(part); // TODO: May cause problems
 		final Partition p = FastAnalyzer.computePartition(part);
-		final ProposalFactory factory = new XtendProposalFactoryEclipseImpl(documentOffset);
+		final ProposalFactory factory = new XtendProposalFactoryEclipseImpl(
+				documentOffset);
 		List<? extends ICompletionProposal> proposals = null;
 		if (p == Partition.EXPRESSION) {
 			ctx = FastAnalyzer.computeExecutionContext(part, ctx, extensions);
-			proposals = (List<? extends ICompletionProposal>) new ExpressionProposalComputer().computeProposals(part,
-					ctx, factory);
+			proposals = (List<? extends ICompletionProposal>) new ExpressionProposalComputer()
+					.computeProposals(part, ctx, factory);
 		} else if (p == Partition.TYPE_DECLARATION) {
 			ctx = FastAnalyzer.computeExecutionContext(part, ctx, extensions);
-			proposals = (List<? extends ICompletionProposal>) new TypeProposalComputer().computeProposals(part, ctx,
-					factory);
+			proposals = (List<? extends ICompletionProposal>) new TypeProposalComputer()
+					.computeProposals(part, ctx, factory);
 		} else if (p == Partition.EXTENSION_IMPORT) {
-			IXtendXpandProject project = Activator.getExtXptModelManager().findProject(getFile());
-			IXtendXpandResource[] resources = project.getAllRegisteredResources();
+			IXtendXpandProject project = Activator.getExtXptModelManager()
+					.findProject(getFile());
+			IXtendXpandResource[] resources = project
+					.getAllRegisteredResources();
 			Set<String> extensionNames = new HashSet<String>();
 			for (IXtendXpandResource resource : resources) {
 				if (resource instanceof XtendFile) {
 					extensionNames.add(resource.getFullyQualifiedName());
 				}
 			}
-			proposals = (List<? extends ICompletionProposal>) new ExtensionImportProposalComputer().computeProposals(
-					part, ctx, factory, extensionNames);
+			proposals = (List<? extends ICompletionProposal>) new ExtensionImportProposalComputer()
+					.computeProposals(part, ctx, factory, extensionNames);
 		} else if (p == Partition.NAMESPACE_IMPORT) {
 			ctx = FastAnalyzer.computeExecutionContext(part, ctx, extensions);
-			proposals = (List<? extends ICompletionProposal>) new NamespaceProposalComputer().computeProposals(part, ctx, factory);
+			proposals = (List<? extends ICompletionProposal>) new NamespaceProposalComputer()
+					.computeProposals(part, ctx, factory);
 
-		} else if (p == Partition.DEFAULT){
+		} else if (p == Partition.DEFAULT) {
 			ctx = FastAnalyzer.computeExecutionContext(part, ctx, extensions);
-			proposals = (List<? extends ICompletionProposal>) new TypeProposalComputer().computeProposals(part, ctx, factory);
+			proposals = (List<? extends ICompletionProposal>) new TypeProposalComputer()
+					.computeProposals(part, ctx, factory);
 		} else {
 			proposals = Collections.emptyList();
 		}
@@ -105,7 +108,8 @@
 	/**
 	 * {@inheritDoc}
 	 */
-	public IContextInformation[] computeContextInformation(final ITextViewer viewer, final int documentOffset) {
+	public IContextInformation[] computeContextInformation(
+			final ITextViewer viewer, final int documentOffset) {
 		return null;
 	}
 
diff --git a/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/expression/ast/IfExpression.java b/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/expression/ast/IfExpression.java
index 462b167..20d683e 100644
--- a/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/expression/ast/IfExpression.java
+++ b/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/expression/ast/IfExpression.java
@@ -25,71 +25,74 @@
  */
 public class IfExpression extends Expression {
 
-    private Expression condition;
+	private final Expression condition;
 
-    private Expression thenPart;
+	private final Expression thenPart;
 
-    private Expression elsePart;
+	private final Expression elsePart;
 
-    public IfExpression(final Expression condition,
-            final Expression thenPart, final Expression elsePart) {
-        this.condition = condition;
-        this.thenPart = thenPart;
-        this.elsePart = elsePart;
-    }
+	public IfExpression(final Expression condition, final Expression thenPart, final Expression elsePart) {
+		this.condition = condition;
+		this.thenPart = thenPart;
+		this.elsePart = elsePart;
+	}
 
-    public Expression getCondition() {
-        return condition;
-    }
+	public Expression getCondition() {
+		return condition;
+	}
 
-    public Expression getElsePart() {
-        return elsePart;
-    }
+	public Expression getElsePart() {
+		return elsePart;
+	}
 
-    public Expression getThenPart() {
-        return thenPart;
-    }
+	public Expression getThenPart() {
+		return thenPart;
+	}
 
-    @Override
-    public Object evaluateInternal(final ExecutionContext ctx) {
-        Object val = getCondition().evaluate(ctx);
-        if (val == null)
-            val = Boolean.FALSE;
-        
-        if (!(val instanceof Boolean))
-            throw new EvaluationException("Boolean expected!", getCondition(), ctx);
+	@Override
+	public Object evaluateInternal(final ExecutionContext ctx) {
+		Object val = getCondition().evaluate(ctx);
+		if (val == null) {
+			val = Boolean.FALSE;
+		}
 
-        if (((Boolean) val).booleanValue())
-            return getThenPart().evaluate(ctx);
-        else {
-        	if (getElsePart()==null)
-        		return null;
-            return getElsePart().evaluate(ctx);
-        }
-    }
+		if (!(val instanceof Boolean)) {
+			throw new EvaluationException("Boolean expected!", getCondition(), ctx);
+		}
 
-    @Override
+		if (((Boolean) val).booleanValue()) {
+			return getThenPart().evaluate(ctx);
+		}
+		if (getElsePart() == null) {
+			return null;
+		}
+		return getElsePart().evaluate(ctx);
+	}
+
+	@Override
 	public Type analyzeInternal(final ExecutionContext ctx, final Set<AnalysationIssue> issues) {
-        final Type conditionType = getCondition().analyze(ctx, issues);
-        if (conditionType != null && !conditionType.equals(ctx.getBooleanType())) {
-            issues.add(new AnalysationIssue(AnalysationIssue.INCOMPATIBLE_TYPES, "Boolean expected", getCondition()));
-        }
+		final Type conditionType = getCondition().analyze(ctx, issues);
+		if ((conditionType != null) && !conditionType.equals(ctx.getBooleanType())) {
+			issues.add(new AnalysationIssue(AnalysationIssue.INCOMPATIBLE_TYPES, "Boolean expected", getCondition()));
+		}
 
-        final Type thenPartType = getThenPart().analyze(ctx, issues);
-        final Type elsePartType = getElsePart()!=null ? getElsePart().analyze(ctx, issues) : ctx.getVoidType();
-        if (thenPartType == null || elsePartType == null)
-            return null;
-        if (thenPartType.isAssignableFrom(elsePartType))
-            return elsePartType;
-        else if (elsePartType.isAssignableFrom(thenPartType))
-            return thenPartType;
-        else
-            return ctx.getObjectType();
-    }
+		final Type thenPartType = getThenPart().analyze(ctx, issues);
+		final Type elsePartType = getElsePart() != null ? getElsePart().analyze(ctx, issues) : ctx.getVoidType();
+		if ((thenPartType == null) || (elsePartType == null)) {
+			return null;
+		}
+		if (thenPartType.isAssignableFrom(elsePartType)) {
+			return elsePartType;
+		} else if (elsePartType.isAssignableFrom(thenPartType)) {
+			return thenPartType;
+		} else {
+			return ctx.getObjectType();
+		}
+	}
 
-    @Override
+	@Override
 	protected String toStringInternal() {
-        return "if "+condition.toString() + " then " + thenPart + (elsePart!=null ? " else " + elsePart : "");
-    }
-    
+		return "if " + condition.toString() + " then " + thenPart + (elsePart != null ? " else " + elsePart : "");
+	}
+
 }
diff --git a/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/type/baseimpl/OperationImpl.java b/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/type/baseimpl/OperationImpl.java
index 76d1e6d..5eae54d 100644
--- a/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/type/baseimpl/OperationImpl.java
+++ b/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/type/baseimpl/OperationImpl.java
@@ -24,11 +24,9 @@
 
 	private final Type owner;
 
-	public OperationImpl(final Type owner, final String name,
-			final Type returnType, final Type... paramTypes) {
+	public OperationImpl(final Type owner, final String name, final Type returnType, final Type... paramTypes) {
 		super(name, returnType);
-		this.paramTypes = (paramTypes == null) || (paramTypes.length == 0) ? NO_TYPES
-				: Arrays.asList(paramTypes);
+		this.paramTypes = (paramTypes == null) || (paramTypes.length == 0) ? NO_TYPES : Arrays.asList(paramTypes);
 		this.owner = owner;
 	}
 
@@ -38,9 +36,8 @@
 		} catch (final NullPointerException e) {
 			if (target == null) {
 				return null;
-			} else {
-				throw e;
 			}
+			throw e;
 		}
 	}
 
@@ -68,10 +65,8 @@
 		}
 		if (obj instanceof Operation) {
 			final Operation op = (Operation) obj;
-			boolean equals = getOwner().equals(op.getOwner())
-					&& getName().equals(op.getName())
-					&& (getParameterTypes().size() == op.getParameterTypes()
-							.size());
+			boolean equals = getOwner().equals(op.getOwner()) && getName().equals(op.getName())
+					&& (getParameterTypes().size() == op.getParameterTypes().size());
 
 			if (equals) {
 				final List<Type> typesA = getParameterTypes();
diff --git a/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/type/baseimpl/TypesComparator.java b/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/type/baseimpl/TypesComparator.java
index dc15001..bd0ebf1 100644
--- a/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/type/baseimpl/TypesComparator.java
+++ b/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/type/baseimpl/TypesComparator.java
@@ -19,17 +19,16 @@
 public final class TypesComparator implements Comparator<List<? extends Type>> {
 	/**
 	 * 
-	 * returns -1 if the second list of types is not assignable to the first
-	 * list of types returns 0 if the second list of types exactly matches the
-	 * first list of types returns 1 if the second list of types is assignable
-	 * to the first list of types
+	 * returns -1 if the second list of types is not assignable to the first list of types returns 0 if the second list of types exactly matches the
+	 * first list of types returns 1 if the second list of types is assignable to the first list of types
 	 */
-	public int compare(final List<? extends Type> types1,
-			final List<? extends Type> types2) {
-		if (types1 == null || types2 == null)
+	public int compare(final List<? extends Type> types1, final List<? extends Type> types2) {
+		if ((types1 == null) || (types2 == null)) {
 			throw new NullPointerException();
-		if (types1.size() != types2.size())
+		}
+		if (types1.size() != types2.size()) {
 			return -1;
+		}
 		boolean directMatch = true;
 		for (int i = 0, x = types1.size(); i < x; i++) {
 			final Type type1 = types1.get(i);
@@ -42,10 +41,10 @@
 				return -1;
 			}
 		}
-		if (directMatch)
+		if (directMatch) {
 			return 0;
-		else
-			return 1;
+		}
+		return 1;
 	}
 
 }
\ No newline at end of file
diff --git a/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/type/baseimpl/types/ObjectTypeImpl.java b/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/type/baseimpl/types/ObjectTypeImpl.java
index a2c1e35..c83d2f3 100644
--- a/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/type/baseimpl/types/ObjectTypeImpl.java
+++ b/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/type/baseimpl/types/ObjectTypeImpl.java
@@ -28,122 +28,131 @@
 @SuppressWarnings("unchecked")
 public class ObjectTypeImpl extends BuiltinBaseType {
 
-    public ObjectTypeImpl(final TypeSystem ts, final String name) {
-        super(ts, name);
-    }
+	public ObjectTypeImpl(final TypeSystem ts, final String name) {
+		super(ts, name);
+	}
 
-    @Override
-    public Feature[] getContributedFeatures() {
-        return new Feature[] {
-                new OperationImpl(this, "==", getTypeSystem().getBooleanType(), new Type[] { ObjectTypeImpl.this }) {
-                    @Override
-                    public Object evaluateInternal(final Object target, final Object[] params) {
-                        if (target == null)
-                            return new Boolean(target == params[0]);
-                        return new Boolean(target.equals(params[0]));
-                    }
-                }, new OperationImpl(this, "!=", getTypeSystem().getBooleanType(), new Type[] { ObjectTypeImpl.this }) {
-                    @Override
-                    public Object evaluateInternal(final Object target, final Object[] params) {
-                        if (target == null)
-                            return new Boolean(target != params[0]);
-                        return new Boolean(!target.equals(params[0]));
-                    }
-                }, new OperationImpl(this, ">", getTypeSystem().getBooleanType(), new Type[] { ObjectTypeImpl.this }) {
-                    @Override
-                    public Object evaluateInternal(final Object target, final Object[] params) {
-                        if (target == null)
-                            return Boolean.FALSE;
-                        if (params[0] == null)
-                            return Boolean.FALSE;
-                        return new Boolean(((Comparable<Object>) target).compareTo(params[0]) > 0);
-                    }
-                }, new OperationImpl(this, ">=", getTypeSystem().getBooleanType(), new Type[] { ObjectTypeImpl.this }) {
-                    @Override
-                    public Object evaluateInternal(final Object target, final Object[] params) {
-                        if (target == null)
-                            return params[0] == null ? Boolean.TRUE : Boolean.FALSE;
-                        if (params[0] == null)
-                            return Boolean.FALSE;
-                        return new Boolean(((Comparable<Object>) target).compareTo(params[0]) >= 0);
-                    }
-                }, new OperationImpl(this, "<", getTypeSystem().getBooleanType(), new Type[] { ObjectTypeImpl.this }) {
-                    @Override
-                    public Object evaluateInternal(final Object target, final Object[] params) {
-                        if (target == null)
-                            return Boolean.FALSE;
-                        if (params[0] == null)
-                            return Boolean.FALSE;
-                        return new Boolean(((Comparable<Object>) target).compareTo(params[0]) < 0);
-                    }
-                }, new OperationImpl(this, "<=", getTypeSystem().getBooleanType(), new Type[] { ObjectTypeImpl.this }) {
-                    @Override
-                    public Object evaluateInternal(final Object target, final Object[] params) {
-                        if (target == null)
-                            return params[0] == null ? Boolean.TRUE : Boolean.FALSE;
-                        if (params[0] == null)
-                            return Boolean.FALSE;
-                        return new Boolean(((Comparable<Object>) target).compareTo(params[0]) <= 0);
-                    }
-                }, new PropertyImpl(this, "metaType", getTypeSystem().getTypeType()) {
-                    @Override
-                    public String getDocumentation() {
-                        return "returns this object's meta type.";
-                    }
+	@Override
+	public Feature[] getContributedFeatures() {
+		return new Feature[] { new OperationImpl(this, "==", getTypeSystem().getBooleanType(), new Type[] { ObjectTypeImpl.this }) {
+			@Override
+			public Object evaluateInternal(final Object target, final Object[] params) {
+				if (target == null) {
+					return new Boolean(target == params[0]);
+				}
+				return new Boolean(target.equals(params[0]));
+			}
+		}, new OperationImpl(this, "!=", getTypeSystem().getBooleanType(), new Type[] { ObjectTypeImpl.this }) {
+			@Override
+			public Object evaluateInternal(final Object target, final Object[] params) {
+				if (target == null) {
+					return new Boolean(target != params[0]);
+				}
+				return new Boolean(!target.equals(params[0]));
+			}
+		}, new OperationImpl(this, ">", getTypeSystem().getBooleanType(), new Type[] { ObjectTypeImpl.this }) {
+			@Override
+			public Object evaluateInternal(final Object target, final Object[] params) {
+				if (target == null) {
+					return Boolean.FALSE;
+				}
+				if (params[0] == null) {
+					return Boolean.FALSE;
+				}
+				return new Boolean(((Comparable<Object>) target).compareTo(params[0]) > 0);
+			}
+		}, new OperationImpl(this, ">=", getTypeSystem().getBooleanType(), new Type[] { ObjectTypeImpl.this }) {
+			@Override
+			public Object evaluateInternal(final Object target, final Object[] params) {
+				if (target == null) {
+					return params[0] == null ? Boolean.TRUE : Boolean.FALSE;
+				}
+				if (params[0] == null) {
+					return Boolean.FALSE;
+				}
+				return new Boolean(((Comparable<Object>) target).compareTo(params[0]) >= 0);
+			}
+		}, new OperationImpl(this, "<", getTypeSystem().getBooleanType(), new Type[] { ObjectTypeImpl.this }) {
+			@Override
+			public Object evaluateInternal(final Object target, final Object[] params) {
+				if (target == null) {
+					return Boolean.FALSE;
+				}
+				if (params[0] == null) {
+					return Boolean.FALSE;
+				}
+				return new Boolean(((Comparable<Object>) target).compareTo(params[0]) < 0);
+			}
+		}, new OperationImpl(this, "<=", getTypeSystem().getBooleanType(), new Type[] { ObjectTypeImpl.this }) {
+			@Override
+			public Object evaluateInternal(final Object target, final Object[] params) {
+				if (target == null) {
+					return params[0] == null ? Boolean.TRUE : Boolean.FALSE;
+				}
+				if (params[0] == null) {
+					return Boolean.FALSE;
+				}
+				return new Boolean(((Comparable<Object>) target).compareTo(params[0]) <= 0);
+			}
+		}, new PropertyImpl(this, "metaType", getTypeSystem().getTypeType()) {
+			@Override
+			public String getDocumentation() {
+				return "returns this object's meta type.";
+			}
 
-                    public Object get(final Object target) {
-                        return getTypeSystem().getType(target);
-                    }
-                }, new OperationImpl(this, "toString", getTypeSystem().getStringType()) {
-                    @Override
-                    public String getDocumentation() {
-                        return "returns the String representation of this object. (Calling Java's toString() method)";
-                    }
+			public Object get(final Object target) {
+				return getTypeSystem().getType(target);
+			}
+		}, new OperationImpl(this, "toString", getTypeSystem().getStringType()) {
+			@Override
+			public String getDocumentation() {
+				return "returns the String representation of this object. (Calling Java's toString() method)";
+			}
 
-                    @Override
-                    public Object evaluateInternal(final Object target, final Object[] params) {
-                        return target != null ? target.toString() : "null";
-                    }
-                }, new OperationImpl(this, "compareTo", getTypeSystem().getIntegerType(), new Type[] { this }) {
-                    @Override
-                    public String getDocumentation() {
-                        return "Compares this object with the specified object for order.  Returns a negative "
-                                + "integer, zero, or a positive integer as this object is less than, equal to, "
-                                + "or greater than the specified object.";
-                    }
+			@Override
+			public Object evaluateInternal(final Object target, final Object[] params) {
+				return target != null ? target.toString() : "null";
+			}
+		}, new OperationImpl(this, "compareTo", getTypeSystem().getIntegerType(), new Type[] { this }) {
+			@Override
+			public String getDocumentation() {
+				return "Compares this object with the specified object for order.  Returns a negative "
+						+ "integer, zero, or a positive integer as this object is less than, equal to, " + "or greater than the specified object.";
+			}
 
-                    @Override
-                    public Object evaluateInternal(final Object target, final Object[] params) {
-                        if (target == null)
-                            return params[0] == null ? new Long(0) : new Long(-1);
-                        if (params[0] == null)
-                            return new Long(1);
-                        if (target instanceof Comparable)
-                            return new Long(((Comparable<Object>) target).compareTo(params[0]));
-                        else {
-                            final TypeSystem ts = getTypeSystem();
-                            Operation op = ts.findOperation("toString", target, null);
-                            final String s1 = (String) op.evaluate(target, null);
-                            op = ts.findOperation("toString", params[0], null);
-                            final String s2 = (String) op.evaluate(params[0], null);
-                            
-                            return new Long(s1.compareTo(s2));
-                        }
-                    }
-                } };
-    }
+			@Override
+			public Object evaluateInternal(final Object target, final Object[] params) {
+				if (target == null) {
+					return params[0] == null ? new Long(0) : new Long(-1);
+				}
+				if (params[0] == null) {
+					return new Long(1);
+				}
+				if (target instanceof Comparable) {
+					return new Long(((Comparable<Object>) target).compareTo(params[0]));
+				}
+				final TypeSystem ts = getTypeSystem();
+				Operation op = ts.findOperation("toString", target, null);
+				final String s1 = (String) op.evaluate(target, null);
+				op = ts.findOperation("toString", params[0], null);
+				final String s2 = (String) op.evaluate(params[0], null);
 
-    public boolean isInstance(final Object o) {
-        return true;
-    }
+				return new Long(s1.compareTo(s2));
+			}
+		} };
+	}
 
-    public Object newInstance() {
-        return new Object();
-    }
+	public boolean isInstance(final Object o) {
+		return true;
+	}
 
-    @Override
-    public Set<Type> getSuperTypes() {
-        return Collections.EMPTY_SET;
-    }
+	public Object newInstance() {
+		return new Object();
+	}
+
+	@Override
+	public Set<Type> getSuperTypes() {
+		return Collections.EMPTY_SET;
+	}
 
 }
diff --git a/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/util/WeakInterningHashSet.java b/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/util/WeakInterningHashSet.java
index 761237f..eaa9098 100644
--- a/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/util/WeakInterningHashSet.java
+++ b/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/util/WeakInterningHashSet.java
@@ -229,9 +229,8 @@
 			Entry<E> entry = (Entry<E>) queue.poll();

 			if (entry == null) {

 				return;

-			} else {

-				removeEntry(entry);

 			}

+			removeEntry(entry);

 		}

 	}

 

@@ -249,26 +248,24 @@
 				modCount += NULL_BIT_INCREMENT;

 				++size;

 				return true;

-			} else {

-				return false;

 			}

-		} else {

-			int hashCode = hashCode(object);

-			if (entries != null) {

-				int index = index(hashCode);

-				for (Entry<E> entry = entries[index]; entry != null; entry = entry.next) {

-					if (hashCode == entry.hashCode) {

-						E otherObject = entry.get();

-						if (equals(object, otherObject)) {

-							return false;

-						}

+			return false;

+		}

+		int hashCode = hashCode(object);

+		if (entries != null) {

+			int index = index(hashCode);

+			for (Entry<E> entry = entries[index]; entry != null; entry = entry.next) {

+				if (hashCode == entry.hashCode) {

+					E otherObject = entry.get();

+					if (equals(object, otherObject)) {

+						return false;

 					}

 				}

 			}

-

-			addEntry(createEntry(object, hashCode));

-			return true;

 		}

+

+		addEntry(createEntry(object, hashCode));

+		return true;

 	}

 

 	/**

@@ -283,29 +280,27 @@
 			//

 			if ((modCount & NULL_BIT_INCREMENT) == 0) {

 				return false;

-			} else {

-				modCount += NULL_BIT_INCREMENT;

-				--size;

-				return true;

 			}

-		} else {

-			if (entries != null) {

-				int hashCode = hashCode(object);

-				int index = index(hashCode);

-				Entry<E> previousEntry = null;

-				for (Entry<E> entry = entries[index]; entry != null; previousEntry = entry, entry = entry.next) {

-					if (hashCode == entry.hashCode) {

-						E otherObject = entry.get();

-						if (equals(object, otherObject)) {

-							if (previousEntry == null) {

-								entries[index] = entry.next;

-							} else {

-								previousEntry.next = entry.next;

-							}

-							--size;

-							modCount += MOD_COUNT_INCREMENT;

-							return true;

+			modCount += NULL_BIT_INCREMENT;

+			--size;

+			return true;

+		}

+		if (entries != null) {

+			int hashCode = hashCode(object);

+			int index = index(hashCode);

+			Entry<E> previousEntry = null;

+			for (Entry<E> entry = entries[index]; entry != null; previousEntry = entry, entry = entry.next) {

+				if (hashCode == entry.hashCode) {

+					E otherObject = entry.get();

+					if (equals(object, otherObject)) {

+						if (previousEntry == null) {

+							entries[index] = entry.next;

+						} else {

+							previousEntry.next = entry.next;

 						}

+						--size;

+						modCount += MOD_COUNT_INCREMENT;

+						return true;

 					}

 				}

 			}

@@ -325,23 +320,22 @@
 				++size;

 			}

 			return null;

-		} else {

-			int hashCode = hashCode(object);

-			if (entries != null) {

-				int index = index(hashCode);

-				for (Entry<E> entry = entries[index]; entry != null; entry = entry.next) {

-					if (hashCode == entry.hashCode) {

-						E otherObject = entry.get();

-						if (equals(object, otherObject)) {

-							return otherObject;

-						}

+		}

+		int hashCode = hashCode(object);

+		if (entries != null) {

+			int index = index(hashCode);

+			for (Entry<E> entry = entries[index]; entry != null; entry = entry.next) {

+				if (hashCode == entry.hashCode) {

+					E otherObject = entry.get();

+					if (equals(object, otherObject)) {

+						return otherObject;

 					}

 				}

 			}

-

-			addEntry(createEntry(object, hashCode));

-			return object;

 		}

+

+		addEntry(createEntry(object, hashCode));

+		return object;

 	}

 

 	public E get(final E object) {

@@ -351,22 +345,21 @@
 			// Whether null is present or not, we always return null.

 			//

 			return null;

-		} else {

-			if (entries != null) {

-				int hashCode = hashCode(object);

-				int index = index(hashCode);

-				for (Entry<E> entry = entries[index]; entry != null; entry = entry.next) {

-					if (hashCode == entry.hashCode) {

-						E otherObject = entry.get();

-						if (equals(object, otherObject)) {

-							return otherObject;

-						}

+		}

+		if (entries != null) {

+			int hashCode = hashCode(object);

+			int index = index(hashCode);

+			for (Entry<E> entry = entries[index]; entry != null; entry = entry.next) {

+				if (hashCode == entry.hashCode) {

+					E otherObject = entry.get();

+					if (equals(object, otherObject)) {

+						return otherObject;

 					}

 				}

 			}

-

-			return null;

 		}

+

+		return null;

 	}

 

 	/**

@@ -380,22 +373,21 @@
 			// The presence of null is encoded in the modCount.

 			//

 			return (modCount & NULL_BIT_INCREMENT) != 0;

-		} else {

-			if (entries != null) {

-				int hashCode = hashCode(object);

-				int index = index(hashCode);

-				for (Entry<E> entry = entries[index]; entry != null; entry = entry.next) {

-					if (hashCode == entry.hashCode) {

-						E otherObject = entry.get();

-						if (equals(object, otherObject)) {

-							return true;

-						}

+		}

+		if (entries != null) {

+			int hashCode = hashCode(object);

+			int index = index(hashCode);

+			for (Entry<E> entry = entries[index]; entry != null; entry = entry.next) {

+				if (hashCode == entry.hashCode) {

+					E otherObject = entry.get();

+					if (equals(object, otherObject)) {

+						return true;

 					}

 				}

 			}

-

-			return false;

 		}

+

+		return false;

 	}

 

 	/**

@@ -513,12 +505,11 @@
 								nextObject = object;

 								nextEntry = entry;

 								break;

-							} else {

-								// Continue the look with the next entry in the collision chain.

-								//

-								entry = entry.next;

-								continue;

 							}

+							// Continue the look with the next entry in the collision chain.

+							//

+							entry = entry.next;

+							continue;

 						}

 

 						// If we proceed beyond the end of the entries, prepare to yield nothing.

diff --git a/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/util/internal/icu/CharsetMatch.java b/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/util/internal/icu/CharsetMatch.java
index 0513b3e..aad929a 100644
--- a/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/util/internal/icu/CharsetMatch.java
+++ b/plugins/org.eclipse.xtend/src/org/eclipse/internal/xtend/util/internal/icu/CharsetMatch.java
@@ -1,18 +1,19 @@
 package org.eclipse.internal.xtend.util.internal.icu;
-/**
-This code was taken from the com.ibm.icu library (3.6.1). We needed to copy it to have not
-a dependency to this large library only the need of charset recognition.
-(KTH 2007-07-30)
 
-The com.ibm.icu library is published under Eclipse Public License V1.0.
+/**
+ This code was taken from the com.ibm.icu library (3.6.1). We needed to copy it to have not
+ a dependency to this large library only the need of charset recognition.
+ (KTH 2007-07-30)
+
+ The com.ibm.icu library is published under Eclipse Public License V1.0.
  */
 
 /**
-*******************************************************************************
-* Copyright (C) 2005-2006, International Business Machines Corporation and    *
-* others. All Rights Reserved.                                                *
-*******************************************************************************
-*/
+ *******************************************************************************
+ * Copyright (C) 2005-2006, International Business Machines Corporation and    *
+ * others. All Rights Reserved.                                                *
+ *******************************************************************************
+ */
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
@@ -20,268 +21,247 @@
 import java.io.InputStreamReader;
 import java.io.Reader;
 
-
 /**
- * This class represents a charset that has been identified by a CharsetDetector
- * as a possible encoding for a set of input data.  From an instance of this
- * class, you can ask for a confidence level in the charset identification,
- * or for Java Reader or String to access the original byte data in Unicode form.
+ * This class represents a charset that has been identified by a CharsetDetector as a possible encoding for a set of input data. From an instance of
+ * this class, you can ask for a confidence level in the charset identification, or for Java Reader or String to access the original byte data in
+ * Unicode form.
  * <p/>
  * Instances of this class are created only by CharsetDetectors.
  * <p/>
- * Note:  this class has a natural ordering that is inconsistent with equals.
- *        The natural ordering is based on the match confidence value.
- *
+ * Note: this class has a natural ordering that is inconsistent with equals. The natural ordering is based on the match confidence value.
+ * 
  * @draft ICU 3.4
  * @provisional This API might change or be removed in a future release.
  */
 @SuppressWarnings("rawtypes")
 public class CharsetMatch implements Comparable {
 
+	/**
+	 * Create a java.io.Reader for reading the Unicode character data corresponding to the original byte data supplied to the Charset detect
+	 * operation.
+	 * <p/>
+	 * CAUTION: if the source of the byte data was an InputStream, a Reader can be created for only one matching char set using this method. If more
+	 * than one charset needs to be tried, the caller will need to reset the InputStream and create InputStreamReaders itself, based on the charset
+	 * name.
+	 * 
+	 * @return the Reader for the Unicode character data.
+	 * 
+	 * @draft ICU 3.4
+	 * @provisional This API might change or be removed in a future release.
+	 */
+	public Reader getReader() {
+		InputStream inputStream = fInputStream;
 
-    /**
-     * Create a java.io.Reader for reading the Unicode character data corresponding
-     * to the original byte data supplied to the Charset detect operation.
-     * <p/>
-     * CAUTION:  if the source of the byte data was an InputStream, a Reader
-     * can be created for only one matching char set using this method.  If more
-     * than one charset needs to be tried, the caller will need to reset
-     * the InputStream and create InputStreamReaders itself, based on the charset name.
-     *
-     * @return the Reader for the Unicode character data.
-     *
-     * @draft ICU 3.4
-     * @provisional This API might change or be removed in a future release.
-     */
-    public Reader getReader() {
-        InputStream inputStream = fInputStream;
+		if (inputStream == null) {
+			inputStream = new ByteArrayInputStream(fRawInput, 0, fRawLength);
+		}
 
-        if (inputStream == null) {
-            inputStream = new ByteArrayInputStream(fRawInput, 0, fRawLength);
-        }
+		try {
+			inputStream.reset();
+			return new InputStreamReader(inputStream, getName());
+		} catch (IOException e) {
+			return null;
+		}
+	}
 
-        try {
-            inputStream.reset();
-            return new InputStreamReader(inputStream, getName());
-        } catch (IOException e) {
-            return null;
-        }
-    }
+	/**
+	 * Create a Java String from Unicode character data corresponding to the original byte data supplied to the Charset detect operation.
+	 * 
+	 * @return a String created from the converted input data.
+	 * 
+	 * @draft ICU 3.4
+	 * @provisional This API might change or be removed in a future release.
+	 */
+	public String getString() throws java.io.IOException {
+		return getString(-1);
 
-    /**
-     * Create a Java String from Unicode character data corresponding
-     * to the original byte data supplied to the Charset detect operation.
-     *
-     * @return a String created from the converted input data.
-     *
-     * @draft ICU 3.4
-     * @provisional This API might change or be removed in a future release.
-     */
-    public String getString()  throws java.io.IOException {
-        return getString(-1);
+	}
 
-    }
+	/**
+	 * Create a Java String from Unicode character data corresponding to the original byte data supplied to the Charset detect operation. The length
+	 * of the returned string is limited to the specified size; the string will be trunctated to this length if necessary. A limit value of zero or
+	 * less is ignored, and treated as no limit.
+	 * 
+	 * @param maxLength
+	 *            The maximium length of the String to be created when the source of the data is an input stream, or -1 for unlimited length.
+	 * @return a String created from the converted input data.
+	 * 
+	 * @draft ICU 3.4
+	 * @provisional This API might change or be removed in a future release.
+	 */
+	public String getString(final int maxLength) throws java.io.IOException {
+		String result = null;
+		if (fInputStream != null) {
+			StringBuffer sb = new StringBuffer();
+			char[] buffer = new char[1024];
+			Reader reader = getReader();
+			int max = maxLength < 0 ? Integer.MAX_VALUE : maxLength;
+			int bytesRead = 0;
 
-    /**
-     * Create a Java String from Unicode character data corresponding
-     * to the original byte data supplied to the Charset detect operation.
-     * The length of the returned string is limited to the specified size;
-     * the string will be trunctated to this length if necessary.  A limit value of
-     * zero or less is ignored, and treated as no limit.
-     *
-     * @param maxLength The maximium length of the String to be created when the
-     *                  source of the data is an input stream, or -1 for
-     *                  unlimited length.
-     * @return a String created from the converted input data.
-     *
-     * @draft ICU 3.4
-     * @provisional This API might change or be removed in a future release.
-     */
-    public String getString(int maxLength) throws java.io.IOException {
-        String result = null;
-        if (fInputStream != null) {
-            StringBuffer sb = new StringBuffer();
-            char[] buffer = new char[1024];
-            Reader reader = getReader();
-            int max = maxLength < 0? Integer.MAX_VALUE : maxLength;
-            int bytesRead = 0;
+			while ((bytesRead = reader.read(buffer, 0, Math.min(max, 1024))) >= 0) {
+				sb.append(buffer, 0, bytesRead);
+				max -= bytesRead;
+			}
 
-            while ((bytesRead = reader.read(buffer, 0, Math.min(max, 1024))) >= 0) {
-                sb.append(buffer, 0, bytesRead);
-                max -= bytesRead;
-            }
+			reader.close();
 
-            reader.close();
+			return sb.toString();
+		}
+		result = new String(fRawInput, getName());
+		return result;
 
-            return sb.toString();
-        } else {
-            result = new String(fRawInput, getName());
-        }
-        return result;
+	}
 
-    }
+	/**
+	 * Get an indication of the confidence in the charset detected. Confidence values range from 0-100, with larger numbers indicating a better match
+	 * of the input data to the characteristics of the charset.
+	 * 
+	 * @return the confidence in the charset match
+	 * 
+	 * @draft ICU 3.4
+	 * @provisional This API might change or be removed in a future release.
+	 */
+	public int getConfidence() {
+		return fConfidence;
+	}
 
-    /**
-     * Get an indication of the confidence in the charset detected.
-     * Confidence values range from 0-100, with larger numbers indicating
-     * a better match of the input data to the characteristics of the
-     * charset.
-     *
-     * @return the confidence in the charset match
-     *
-     * @draft ICU 3.4
-     * @provisional This API might change or be removed in a future release.
-     */
-    public int getConfidence() {
-        return fConfidence;
-    }
+	/**
+	 * Bit flag indicating the match is based on the the encoding scheme.
+	 * 
+	 * @see #getMatchType
+	 * @draft ICU 3.4
+	 * @provisional This API might change or be removed in a future release.
+	 */
+	static public final int ENCODING_SCHEME = 1;
 
+	/**
+	 * Bit flag indicating the match is based on the presence of a BOM.
+	 * 
+	 * @see #getMatchType
+	 * @draft ICU 3.4
+	 * @provisional This API might change or be removed in a future release.
+	 */
+	static public final int BOM = 2;
 
-    /**
-     * Bit flag indicating the match is based on the the encoding scheme.
-     *
-     * @see #getMatchType
-     * @draft ICU 3.4
-     * @provisional This API might change or be removed in a future release.
-     */
-    static public final int ENCODING_SCHEME    = 1;
+	/**
+	 * Bit flag indicating he match is based on the declared encoding.
+	 * 
+	 * @see #getMatchType
+	 * @draft ICU 3.4
+	 * @provisional This API might change or be removed in a future release.
+	 */
+	static public final int DECLARED_ENCODING = 4;
 
-    /**
-     * Bit flag indicating the match is based on the presence of a BOM.
-     *
-     * @see #getMatchType
-     * @draft ICU 3.4
-     * @provisional This API might change or be removed in a future release.
-     */
-    static public final int BOM                = 2;
+	/**
+	 * Bit flag indicating the match is based on language statistics.
+	 * 
+	 * @see #getMatchType
+	 * @draft ICU 3.4
+	 * @provisional This API might change or be removed in a future release.
+	 */
+	static public final int LANG_STATISTICS = 8;
 
-    /**
-     * Bit flag indicating he match is based on the declared encoding.
-     *
-     * @see #getMatchType
-     * @draft ICU 3.4
-     * @provisional This API might change or be removed in a future release.
-     */
-    static public final int DECLARED_ENCODING  = 4;
+	/**
+	 * Return flags indicating what it was about the input data that caused this charset to be considered as a possible match. The result is a
+	 * bitfield containing zero or more of the flags ENCODING_SCHEME, BOM, DECLARED_ENCODING, and LANG_STATISTICS. A result of zero means no
+	 * information is available.
+	 * <p>
+	 * Note: currently, this method always returns zero.
+	 * <p>
+	 * 
+	 * @return the type of match found for this charset.
+	 * 
+	 * @draft ICU 3.4
+	 * @provisional This API might change or be removed in a future release.
+	 */
+	public int getMatchType() {
+		// TODO: create a list of enum-like constants for common combinations of types of matches.
+		return 0;
+	}
 
-    /**
-     * Bit flag indicating the match is based on language statistics.
-     *
-     * @see #getMatchType
-     * @draft ICU 3.4
-     * @provisional This API might change or be removed in a future release.
-     */
-    static public final int LANG_STATISTICS    = 8;
+	/**
+	 * Get the name of the detected charset. The name will be one that can be used with other APIs on the platform that accept charset names. It is
+	 * the "Canonical name" as defined by the class java.nio.charset.Charset; for charsets that are registered with the IANA charset registry, this is
+	 * the MIME-preferred registerd name.
+	 * 
+	 * @see java.nio.charset.Charset
+	 * @see java.io.InputStreamReader
+	 * 
+	 * @return The name of the charset.
+	 * 
+	 * @draft ICU 3.4
+	 * @provisional This API might change or be removed in a future release.
+	 */
+	public String getName() {
+		return fRecognizer.getName();
+	}
 
-    /**
-     * Return flags indicating what it was about the input data
-     * that caused this charset to be considered as a possible match.
-     * The result is a bitfield containing zero or more of the flags
-     * ENCODING_SCHEME, BOM, DECLARED_ENCODING, and LANG_STATISTICS.
-     * A result of zero means no information is available.
-     * <p>
-     * Note: currently, this method always returns zero.
-     * <p>
-     *
-     * @return the type of match found for this charset.
-     *
-     * @draft ICU 3.4
-     * @provisional This API might change or be removed in a future release.
-     */
-    public int getMatchType() {
-//      TODO: create a list of enum-like constants for common combinations of types of matches.
-        return 0;
-    }
+	/**
+	 * Get the ISO code for the language of the detected charset.
+	 * 
+	 * @return The ISO code for the language or <code>null</code> if the language cannot be determined.
+	 * 
+	 * @draft ICU 3.4
+	 * @provisional This API might change or be removed in a future release.
+	 */
+	public String getLanguage() {
+		return fRecognizer.getLanguage();
+	}
 
-    /**
-     * Get the name of the detected charset.
-     * The name will be one that can be used with other APIs on the
-     * platform that accept charset names.  It is the "Canonical name"
-     * as defined by the class java.nio.charset.Charset; for
-     * charsets that are registered with the IANA charset registry,
-     * this is the MIME-preferred registerd name.
-     *
-     * @see java.nio.charset.Charset
-     * @see java.io.InputStreamReader
-     *
-     * @return The name of the charset.
-     *
-     * @draft ICU 3.4
-     * @provisional This API might change or be removed in a future release.
-     */
-    public String getName() {
-        return fRecognizer.getName();
-    }
+	/**
+	 * Compare to other CharsetMatch objects. Comparison is based on the match confidence value, which allows CharsetDetector.detectAll() to order its
+	 * results.
+	 * 
+	 * @param o
+	 *            the CharsetMatch object to compare against.
+	 * @return a negative integer, zero, or a positive integer as the confidence level of this CharsetMatch is less than, equal to, or greater than
+	 *         that of the argument.
+	 * @throws ClassCastException
+	 *             if the argument is not a CharsetMatch.
+	 * @draft ICU 3.4
+	 * @provisional This API might change or be removed in a future release.
+	 */
+	public int compareTo(final Object o) {
+		CharsetMatch other = (CharsetMatch) o;
+		int compareResult = 0;
+		if (fConfidence > other.fConfidence) {
+			compareResult = 1;
+		} else if (fConfidence < other.fConfidence) {
+			compareResult = -1;
+		}
+		return compareResult;
+	}
 
-    /**
-     * Get the ISO code for the language of the detected charset.
-     *
-     * @return The ISO code for the language or <code>null</code> if the language cannot be determined.
-     *
-     * @draft ICU 3.4
-     * @provisional This API might change or be removed in a future release.
-     */
-    public String getLanguage() {
-        return fRecognizer.getLanguage();
-    }
+	/**
+	 * Constructor. Implementation internal
+	 * 
+	 * @internal
+	 */
+	CharsetMatch(final CharsetDetector det, final CharsetRecognizer rec, final int conf) {
+		fRecognizer = rec;
+		fConfidence = conf;
 
+		// The references to the original aplication input data must be copied out
+		// of the charset recognizer to here, in case the application resets the
+		// recognizer before using this CharsetMatch.
+		if (det.fInputStream == null) {
+			// We only want the existing input byte data if it came straight from the user,
+			// not if is just the head of a stream.
+			fRawInput = det.fRawInput;
+			fRawLength = det.fRawLength;
+		}
+		fInputStream = det.fInputStream;
+	}
 
-    /**
-     * Compare to other CharsetMatch objects.
-     * Comparison is based on the match confidence value, which
-     *   allows CharsetDetector.detectAll() to order its results.
-     *
-     * @param o the CharsetMatch object to compare against.
-     * @return  a negative integer, zero, or a positive integer as the
-     *          confidence level of this CharsetMatch
-     *		is less than, equal to, or greater than that of
-     *          the argument.
-     * @throws ClassCastException if the argument is not a CharsetMatch.
-     * @draft ICU 3.4
-     * @provisional This API might change or be removed in a future release.
-     */
-    public int compareTo (Object o) {
-        CharsetMatch other = (CharsetMatch)o;
-        int compareResult = 0;
-        if (this.fConfidence > other.fConfidence) {
-            compareResult = 1;
-        } else if (this.fConfidence < other.fConfidence) {
-            compareResult = -1;
-        }
-        return compareResult;
-    }
+	//
+	// Private Data
+	//
+	private final int fConfidence;
+	private final CharsetRecognizer fRecognizer;
+	private byte[] fRawInput = null; // Original, untouched input bytes.
+										// If user gave us a byte array, this is it.
+	private int fRawLength; // Length of data in fRawInput array.
 
-    /**
-     *  Constructor.  Implementation internal
-     *
-     * @internal
-     */
-    CharsetMatch(CharsetDetector det, CharsetRecognizer rec, int conf) {
-        fRecognizer = rec;
-        fConfidence = conf;
-
-        // The references to the original aplication input data must be copied out
-        //   of the charset recognizer to here, in case the application resets the
-        //   recognizer before using this CharsetMatch.
-        if (det.fInputStream == null) {
-            // We only want the existing input byte data if it came straight from the user,
-            //   not if is just the head of a stream.
-            fRawInput    = det.fRawInput;
-            fRawLength   = det.fRawLength;
-        }
-        fInputStream = det.fInputStream;
-    }
-
-
-    //
-    //   Private Data
-    //
-    private int                 fConfidence;
-    private CharsetRecognizer   fRecognizer;
-    private byte[]              fRawInput = null;     // Original, untouched input bytes.
-                                                      //  If user gave us a byte array, this is it.
-    private int                 fRawLength;           // Length of data in fRawInput array.
-
-    private InputStream         fInputStream = null;  // User's input stream, or null if the user
-                                                      //   gave us a byte array.
+	private InputStream fInputStream = null; // User's input stream, or null if the user
+												// gave us a byte array.
 }
diff --git a/plugins/org.eclipse.xtend/src/org/eclipse/xtend/expression/ResourceManagerDefaultImpl.java b/plugins/org.eclipse.xtend/src/org/eclipse/xtend/expression/ResourceManagerDefaultImpl.java
index a3c4866..e928367 100644
--- a/plugins/org.eclipse.xtend/src/org/eclipse/xtend/expression/ResourceManagerDefaultImpl.java
+++ b/plugins/org.eclipse.xtend/src/org/eclipse/xtend/expression/ResourceManagerDefaultImpl.java
@@ -41,42 +41,34 @@
 
 	public ResourceManagerDefaultImpl() {
 		XtendResourceParser xtendResourceParser = new XtendResourceParser();
-		registeredParsers.put(XtendFile.FILE_EXTENSION,
-				xtendResourceParser);
-		registeredParsers.put(CheckUtils.FILE_EXTENSION,
-				xtendResourceParser);
+		registeredParsers.put(XtendFile.FILE_EXTENSION, xtendResourceParser);
+		registeredParsers.put(CheckUtils.FILE_EXTENSION, xtendResourceParser);
 	}
 
-	public Resource loadResource(final String fullyQualifiedName,
-			final String extension) {
-		final String resourceName = fullyQualifiedName.replace(
-				SyntaxConstants.NS_DELIM, "/")
-				+ "." + extension;
-		if (resources.containsKey(resourceName))
+	public Resource loadResource(final String fullyQualifiedName, final String extension) {
+		final String resourceName = fullyQualifiedName.replace(SyntaxConstants.NS_DELIM, "/") + "." + extension;
+		if (resources.containsKey(resourceName)) {
 			return resources.get(resourceName);
-		final InputStream in = ResourceLoaderFactory.createResourceLoader()
-				.getResourceAsStream(resourceName);
-
-		if (in == null)
-			return null;
-		else {
-			Reader reader = createReader(in);
-			final ResourceParser parser = registeredParsers.get(extension);
-			if (parser == null)
-				throw new RuntimeException(
-						"No Parser registered for extension '" + extension
-								+ "'! Known extensions are '"
-								+ registeredParsers.keySet() + "'");
-			final Resource res = parser.parse(reader, resourceName);
-			res.setFullyQualifiedName(fullyQualifiedName);
-			resources.put(resourceName, res);
-			return res;
 		}
+		final InputStream in = ResourceLoaderFactory.createResourceLoader().getResourceAsStream(resourceName);
+
+		if (in == null) {
+			return null;
+		}
+		Reader reader = createReader(in);
+		final ResourceParser parser = registeredParsers.get(extension);
+		if (parser == null) {
+			throw new RuntimeException("No Parser registered for extension '" + extension + "'! Known extensions are '" + registeredParsers.keySet()
+					+ "'");
+		}
+		final Resource res = parser.parse(reader, resourceName);
+		res.setFullyQualifiedName(fullyQualifiedName);
+		resources.put(resourceName, res);
+		return res;
 	}
 
 	/**
-	 * Creates a Reader for the given InputStream. If no explicit file encoding
-	 * is set this method will try to autodetect the file's encoding.
+	 * Creates a Reader for the given InputStream. If no explicit file encoding is set this method will try to autodetect the file's encoding.
 	 * 
 	 * @param in
 	 *            Some resource input stream
@@ -107,8 +99,8 @@
 
 				// Special handling for Xpand files on Mac: Try to detect
 				// the opening Guillemot bracket for MacRoman encoding
-				for (int i = 0; i < buf.length; i++) {
-					if (buf[i] == -57) { // opening Guillemot bracket
+				for (byte element : buf) {
+					if (element == -57) { // opening Guillemot bracket
 						encoding = Charset.forName("MacRoman");
 						break;
 					}
@@ -127,15 +119,11 @@
 				if (encoding != null) {
 					reader = new InputStreamReader(is, encoding);
 				} else {
-					log
-							.warn("Failed autodetecting encoding. Falling back to default...");
+					log.warn("Failed autodetecting encoding. Falling back to default...");
 					reader = new InputStreamReader(is);
 				}
 			} catch (IOException e) {
-				log
-						.warn(
-								"Failed autodetecting encoding. Falling back to default...",
-								e);
+				log.warn("Failed autodetecting encoding. Falling back to default...", e);
 				reader = new InputStreamReader(in);
 			}
 		}
@@ -148,8 +136,7 @@
 
 	protected Map<String, ResourceParser> registeredParsers = new HashMap<String, ResourceParser>();
 
-	public void registerParser(final String extension,
-			final ResourceParser parser) {
+	public void registerParser(final String extension, final ResourceParser parser) {
 		registeredParsers.put(extension, parser);
 	}
 
diff --git a/releng/org.eclipse.xpand.releng/buckminster.cspec b/releng/org.eclipse.xpand.releng/buckminster.cspec
index b6ab1b8..3d94a41 100644
--- a/releng/org.eclipse.xpand.releng/buckminster.cspec
+++ b/releng/org.eclipse.xpand.releng/buckminster.cspec
@@ -20,6 +20,7 @@
         <cs:dependency name="org.eclipse.pde.launching" componentType="osgi.bundle"/>
         <cs:dependency name="org.eclipse.pde.ui" componentType="osgi.bundle"/>
         <cs:dependency name="org.eclipse.pde.junit.runtime" componentType="osgi.bundle"/>
+        <cs:dependency name="org.eclipse.jdt.junit4.runtime" componentType="osgi.bundle"/>
         <cs:dependency name="org.eclipse.platform" componentType="eclipse.feature" versionDesignator="[3.8.0,3.9.0)"/>
         <cs:dependency name="org.eclipse.uml2" componentType="eclipse.feature" versionDesignator="[4.0.0,4.1.0)"/>
         <cs:dependency name="org.eclipse.xsd.sdk" componentType="eclipse.feature" versionDesignator="[2.9.0,3.0.0)"/>
diff --git a/releng/org.eclipse.xpand.releng/promoter.ant b/releng/org.eclipse.xpand.releng/promoter.ant
index 095b8ed..95ffa8b 100644
--- a/releng/org.eclipse.xpand.releng/promoter.ant
+++ b/releng/org.eclipse.xpand.releng/promoter.ant
@@ -307,13 +307,7 @@
 

 

 		<!-- change Group owner  -->

-		<fileset id="repository.resources" dir="${composite.repository.directory}">

-			<or>

-				<filename name="compositeContent.*" />

-				<filename name="compositeArtifacts.*" />

-				<filename name="${saved.build.id}/**" />

-			</or>

-		</fileset>

+		<fileset id="repository.resources" dir="${composite.repository.directory}"/>

 

 		<antcall target="-change.group.owner" inheritall="true">

 			<reference refid="repository.resources" torefid="change.group.owner.resources" />

diff --git a/releng/org.eclipse.xpand.releng/publisher.properties b/releng/org.eclipse.xpand.releng/publisher.properties
index 0dba180..3956416 100644
--- a/releng/org.eclipse.xpand.releng/publisher.properties
+++ b/releng/org.eclipse.xpand.releng/publisher.properties
@@ -1,4 +1,6 @@
 version=2.0.0
-packages.base=xpand.downloads
-testresults.directory=xpand.test.results
+packages.base=downloads
+tests.base=test-results
+group.owner=modeling.m2t
+
 downloads.area=/home/data/httpd/download.eclipse.org/modeling/m2t/xpand/
diff --git a/releng/org.eclipse.xpand.releng/releng/local/commands.txt b/releng/org.eclipse.xpand.releng/releng/local/commands.txt
index 7a3f4b2..9f586a0 100644
--- a/releng/org.eclipse.xpand.releng/releng/local/commands.txt
+++ b/releng/org.eclipse.xpand.releng/releng/local/commands.txt
@@ -4,8 +4,6 @@
 #JRE Install
 installJRE --location /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
 
-#JRE Install
-installJRE --location /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
 #API Baseline Setup
 importtargetdefinition "${checkout.location}/releng/org.eclipse.xpand.releng/api-baseline/api-baseline.target"
 addbaseline -A "xpand-api-baseline"
diff --git a/tests/org.eclipse.xpand.tests/src/org/eclipse/xpand/internal/tests/BlankLineSkippingOutputTest.java b/tests/org.eclipse.xpand.tests/src/org/eclipse/xpand/internal/tests/BlankLineSkippingOutputTest.java
new file mode 100644
index 0000000..60e0846
--- /dev/null
+++ b/tests/org.eclipse.xpand.tests/src/org/eclipse/xpand/internal/tests/BlankLineSkippingOutputTest.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * Copyright (c) 2013 itemis AG (http://www.itemis.eu) 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
+ *******************************************************************************/
+package org.eclipse.xpand.internal.tests;
+
+import junit.framework.TestCase;
+
+import org.eclipse.xpand2.output.BlankLineSkippingOutput;
+import org.eclipse.xpand2.output.Outlet;
+
+/**
+ * @author thoms - Initial contribution and API
+ */
+public class BlankLineSkippingOutputTest extends TestCase {
+	private BlankLineSkippingOutput output;
+
+	@Override
+	public void setUp () {
+		output = new BlankLineSkippingOutput();
+		Outlet outlet = new Outlet("foo");
+		outlet.setName("default");
+		output.addOutlet(outlet);
+		output.openFile("foof", "default");
+	}
+	public void test_write () {
+		output.write("Bar");
+	}
+}
diff --git a/tests/org.eclipse.xpand.tests/src/org/eclipse/xpand/tests/AllTests.java b/tests/org.eclipse.xpand.tests/src/org/eclipse/xpand/tests/AllTests.java
index 7258da0..a489e7e 100644
--- a/tests/org.eclipse.xpand.tests/src/org/eclipse/xpand/tests/AllTests.java
+++ b/tests/org.eclipse.xpand.tests/src/org/eclipse/xpand/tests/AllTests.java
@@ -4,9 +4,9 @@
 import junit.framework.TestSuite;
 
 /*
- * automatically generated by org.eclipse.emf.mwe.releng.GenerateTestSuite 
- * 
- * @generated 
+ * automatically generated by org.eclipse.emf.mwe.releng.GenerateTestSuite
+ *
+ * @generated
  */
 public class AllTests {
    public static Test suite() {
@@ -29,6 +29,7 @@
       suite.addTestSuite(org.eclipse.xpand.internal.tests.pr.ProtectedRegionResolverImplTest.class);
       suite.addTestSuite(org.eclipse.xpand.internal.tests.pr.util.GenericFileFilterTest.class);
       suite.addTestSuite(org.eclipse.xpand.internal.tests.XpandUtilTest.class);
+      suite.addTestSuite(org.eclipse.xpand.internal.tests.BlankLineSkippingOutputTest.class);
       return suite;
    }
 }
diff --git a/tests/org.eclipse.xtend.typesystem.emf.tests/src/org/eclipse/xtend/typesystem/emf/EClassTypeTest.java b/tests/org.eclipse.xtend.typesystem.emf.tests/src/org/eclipse/xtend/typesystem/emf/EClassTypeTest.java
new file mode 100644
index 0000000..b5b8577
--- /dev/null
+++ b/tests/org.eclipse.xtend.typesystem.emf.tests/src/org/eclipse/xtend/typesystem/emf/EClassTypeTest.java
@@ -0,0 +1,110 @@
+/*******************************************************************************
+ * Copyright (c) 2005, 2006 committers of openArchitectureWare 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:
+ *     committers of openArchitectureWare - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.xtend.typesystem.emf;
+
+import junit.framework.TestCase;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EFactory;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EcoreFactory;
+import org.eclipse.emf.ecore.EcorePackage;
+import org.eclipse.xtend.expression.ExecutionContextImpl;
+import org.eclipse.xtend.expression.ExpressionFacade;
+import org.eclipse.xtend.expression.Variable;
+import org.eclipse.xtend.typesystem.Property;
+
+public class EClassTypeTest extends TestCase {
+	private EmfRegistryMetaModel mm;
+	private ExecutionContextImpl ctx;
+	private ExpressionFacade ec;
+	private EClass clazz;
+
+	@Override
+    protected void setUp() throws Exception {
+		super.setUp();
+		EPackage pack = EcoreFactory.eINSTANCE.createEPackage();
+		pack.setName("test1");
+		pack.setNsURI("http://test/ecore");
+		
+		clazz = EcoreFactory.eINSTANCE.createEClass();
+		clazz.setName("AClass");
+		pack.getEClassifiers().add(clazz);
+		
+		EPackage.Registry.INSTANCE.put(pack.getNsURI(), pack);
+		
+		mm = new EmfRegistryMetaModel();
+		ctx = new ExecutionContextImpl();
+		ctx.registerMetaModel(mm);
+		ec = new ExpressionFacade(ctx);
+	}
+
+	/**
+	 * A structural feature that is 'unsettable' offers an additional operation 'isSet...', which
+	 * evaluates {@link org.eclipse.emf.ecore.EObject#eIsSet(org.eclipse.emf.ecore.EStructuralFeature)}.
+	 */
+	public final void test_unsettableAttribute() {
+		// CREATE METAMODEL
+		EAttribute attr = EcoreFactory.eINSTANCE.createEAttribute();
+		clazz.getEStructuralFeatures().add(attr);
+		attr.setName("unsettableAttribute");
+		attr.setEType(EcorePackage.Literals.ESTRING);
+		attr.setUnsettable(true);
+
+		EAttribute attr2 = EcoreFactory.eINSTANCE.createEAttribute();
+		clazz.getEStructuralFeatures().add(attr2);
+		attr2.setName("settableAttribute");
+		attr2.setEType(EcorePackage.Literals.ESTRING);
+		attr2.setUnsettable(false);
+
+		// ANALYZE EClassType
+		EClassType type = (EClassType) mm.getTypeForEClassifier(clazz);
+		assertNotNull(type);
+		Property property = type.getProperty("unsettableAttribute");
+		assertNotNull(property);
+		
+		// Bug#421957: isSetXXX operation for unsettable features
+		assertNotNull("Unsettable feature must have a isSetXXX operation", type.getOperation("isSetUnsettableAttribute", null));
+		assertNotNull("Unsettable feature must have a unsetXXX operation", type.getOperation("unsetUnsettableAttribute", null));
+		assertNull   ("Unsettable feature do not offer a setXXX operation", type.getOperation("setUnsettableAttribute", null));
+		
+		
+		// EVALUTE OPERATIONS
+		// Now create an instance
+		EFactory factory = EPackage.Registry.INSTANCE.getEFactory("http://test/ecore");
+		EObject obj = factory.create(clazz);
+		// Add object to ExecutionContext
+		ec = ec.cloneWithVariable(new Variable("obj", obj));
+		
+		assertEquals(Boolean.FALSE, ec.evaluate("obj.isSetUnsettableAttribute()"));
+		attr.setUnsettable(false);
+		obj.eSet(attr, "Foo");
+		attr.setUnsettable(true);
+		
+		// now the feature is set
+		assertEquals(Boolean.TRUE, ec.evaluate("obj.isSetUnsettableAttribute()"));
+
+		// call unset method
+		assertNull(ec.evaluate("obj.unsetUnsettableAttribute()"));
+		// now the attribute is unset again
+		assertEquals(Boolean.FALSE, ec.evaluate("obj.isSetUnsettableAttribute()"));
+		
+		
+		// Counter test: Settable features do not have an 'isSet' operation
+
+		property = type.getProperty("settableAttribute");
+		assertNotNull(property);
+		
+	}
+	
+}
diff --git a/tests/org.eclipse.xtend.typesystem.emf.tests/src/org/eclipse/xtend/typesystem/emf/tests/AllTests.java b/tests/org.eclipse.xtend.typesystem.emf.tests/src/org/eclipse/xtend/typesystem/emf/tests/AllTests.java
index 7d29fc8..b42bbe2 100644
--- a/tests/org.eclipse.xtend.typesystem.emf.tests/src/org/eclipse/xtend/typesystem/emf/tests/AllTests.java
+++ b/tests/org.eclipse.xtend.typesystem.emf.tests/src/org/eclipse/xtend/typesystem/emf/tests/AllTests.java
@@ -12,6 +12,7 @@
    public static Test suite() {
       TestSuite suite = new TestSuite("Tests for org.eclipse.xtend.typesystem.emf.tests");
       suite.addTestSuite(org.eclipse.xtend.typesystem.emf.EmfMetaModelTest.class);
+      suite.addTestSuite(org.eclipse.xtend.typesystem.emf.EClassTypeTest.class);
       suite.addTestSuite(org.eclipse.xtend.typesystem.emf.EnumTypeTest.class);
       return suite;
    }